diff options
-rw-r--r-- | config/essentials/zsh/.zshrc | 25 | ||||
-rw-r--r-- | config/essentials/zsh/aliases.zsh | 4 |
2 files changed, 24 insertions, 5 deletions
diff --git a/config/essentials/zsh/.zshrc b/config/essentials/zsh/.zshrc index 8ba4ece..b603a04 100644 --- a/config/essentials/zsh/.zshrc +++ b/config/essentials/zsh/.zshrc @@ -15,6 +15,20 @@ then exit fi +isTextFile() +{ + if [ -n "$1" ] + then + local file_type=$(file -b --mime-type "$1") + if [[ $file_type == text/* ]] + then + return + else + return 1 + fi + fi +} + autoload -U select-word-style autoload -z edit-command-line zle -N edit-command-line @@ -97,7 +111,16 @@ function osc7 { print -n "\e]7;file://${HOSTNAME}${uri}\e\\" } add-zsh-hook -Uz chpwd osc7 - +command_not_found_handler () { + isTextFile "$1" || + echo "zsh: command not found: $1" >&2 +} +# open file with file name +open_file() { + isTextFile "$1" && + "$EDITOR" "$1" +} +add-zsh-hook -Uz preexec open_file # prompt PS1=' %B%(#.%F{1}.%F{13})[%n%b%f@%B%F{6}%m]%b%f %3~ ' diff --git a/config/essentials/zsh/aliases.zsh b/config/essentials/zsh/aliases.zsh index c9ea751..cd4c021 100644 --- a/config/essentials/zsh/aliases.zsh +++ b/config/essentials/zsh/aliases.zsh @@ -217,10 +217,6 @@ alias fzps='ps aux | tail +2 | fzf --bind \ alias asf='alias | fzf' alias fzh="tac $HISTFILE | fzf | tee /dev/stderr | clipp" -alias -s conf="$EDITOR" -alias -s txt="$EDITOR" -alias -s c="$EDITOR" -alias -s z80="$EDITOR" alias -s zip='unzip -l' alias -s tar='tar tf' |