花了一整天,终于配置好了zsh和vim!

来源:互联网 发布:知乎 朱棣 编辑:程序博客网 时间:2024/05/16 09:28
这是配置好的zsh,先用了 oh-my-zsh 快速配置,然后用了一些网上的自定义配置,支持各种提示,各种补全,各种高亮~~p.s.赞一个git插件,可以提示所在的当千分之(配置方法在后面)zsh 这是配置好的vim,用的是 spf13-vim  快速配置,基本不需要自定义配置,赞一个vim 附:zsh的配置方法1.参见oh-my-zsh的快速安装2.编辑.zshrc(改个主题就行,如果不知道有什么主题,先设置random,遇到好的记录下来)3.重点在custom下的.zsh文件.这是我的my.zsh
# Add yourself some shortcuts to projects you often work on# Example:###color{{{#autoload colors#colors##for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do#eval _$color='%{$terminfo[bold]$fg[${(L)color}]%}'#eval $color='%{$fg[${(L)color}]%}'#(( count = $count + 1 ))#done#FINISH="%{$terminfo[sgr0]%}"##}}}###命令提示符#RPROMPT=$(echo "$YELLOW%D %T$FINISH")##PROMPT=$(echo "$CYAN%n@$YELLOW%M:$GREEN%/$_YELLOW>$FINISH ")#autoload -Uz promptinit#promptinit#prompt adam1###PROMPT=$(echo "$BLUE%M$GREEN%/##$CYAN%n@$BLUE%M:$GREEN%/$_YELLOW>>>$FINISH ")##标题栏、任务栏样式{{{#case $TERM in (*xterm*|*rxvt*|(dt|k|E)term)#precmd () { print -Pn "\e]0;%n@%M//%/\a" }#preexec () { print -Pn "\e]0;%n@%M//%/\ $1\a" }#;;#esac##}}}   #补全类型提示分组zstyle ':completion:*:matches' group 'yes'zstyle ':completion:*' group-name ''zstyle ':completion:*:options' description 'yes'zstyle ':completion:*:options' auto-description '%d'zstyle ':completion:*:descriptions' format $'\e[01;33m -- %d --\e[0m'zstyle ':completion:*:messages' format $'\e[01;35m -- %d --\e[0m'zstyle ':completion:*:warnings' format $'\e[01;31m -- No Matches Found --\e[0m'zstyle ':completion:*:corrections' format $'\e[01;32m -- %d (errors: %e) --\e[0m'#错误校正zstyle ':completion:*' completer _complete _match _approximatezstyle ':completion:*:match:*' original onlyzstyle ':completion:*:approximate:*' max-errors 1 numeric#kill 命令补全compdef pkill=killcompdef pkill=killallzstyle ':completion:*:*:kill:*' menu yes selectzstyle ':completion:*:*:*:*:processes' force-list alwayszstyle ':completion:*:processes' command 'ps -au$USER'#开启此选项,补全时会直接选中菜单项setopt MENU_COMPLETE#允许在交互模式中使用注释  例如:#cmd #这是注释setopt INTERACTIVE_COMMENTS#禁用 core dumpslimit coredumpsize 0#扩展路径#/v/c/p/p => /var/cache/pacman/pkgsetopt complete_in_word#在命令前插入 sudo#定义功能sudo-command-line() {[[ -z $BUFFER ]] && zle up-history[[ $BUFFER != sudo\ * ]] && BUFFER="sudo $BUFFER"zle end-of-line                 #光标移动到行末}zle -N sudo-command-line#定义快捷键为: [Esc] [Esc]bindkey "\e\e" sudo-command-line#漂亮又实用的命令高亮界面setopt extended_globTOKENS_FOLLOWED_BY_COMMANDS=('|' '||' ';' '&' '&&' 'sudo' 'do' 'time' 'strace') recolor-cmd() {     region_highlight=()     colorize=true     start_pos=0     for arg in ${(z)BUFFER}; do         ((start_pos+=${#BUFFER[$start_pos+1,-1]}-${#${BUFFER[$start_pos+1,-1]## #}}))         ((end_pos=$start_pos+${#arg}))         if $colorize; then             colorize=false             res=$(LC_ALL=C builtin type $arg 2>/dev/null)             case $res in                 *'reserved word'*)   style="fg=magenta,bold";;                 *'alias for'*)       style="fg=cyan,bold";;                 *'shell builtin'*)   style="fg=yellow,bold";;                 *'shell function'*)  style='fg=green,bold';;                 *"$arg is"*)                     [[ $arg = 'sudo' ]] && style="fg=red,bold" || style="fg=blue,bold";;                 *)                   style='none,bold';;             esac             region_highlight+=("$start_pos $end_pos $style")         fi         [[ ${${TOKENS_FOLLOWED_BY_COMMANDS[(r)${arg//|/\|}]}:+yes} = 'yes' ]] && colorize=true         start_pos=$end_pos     done }check-cmd-self-insert() { zle .self-insert && recolor-cmd }check-cmd-backward-delete-char() { zle .backward-delete-char && recolor-cmd }zle -N self-insert check-cmd-self-insertzle -N backward-delete-char check-cmd-backward-delete-char
0 0