感谢支持
我们一直在努力

给 Zsh 的 Vi 模式添加指示符

用久了 zsh 的 Vi 命令行编辑模式 , 有时候会恍惚自己到底在哪个模式 。 大家都知道 ,Vim 的状态行可以显示模式的指示 , 以此来说明是正常模式还是插入模式 。 如果我们能把 Vim 的这个特性移植到 zsh 身上 , 那就完美了 。

用 man zshzle 看了看文档 , 发现实现起来并不难 , 只需在 .zshrc 中添加如下内容即可 :

VIMODE=’– INSERT –‘
function zle-line-init zle-keymap-select {
    VIMODE=”${${KEYMAP/vicmd/– NORMAL –}/(main|viins)/– INSERT –}”
    zle reset-prompt
}
zle -N zle-line-init
zle -N zle-keymap-select

RPROMPT=’%{$fg[green]%}${VIMODE}%{$reset_color%}’

稍微解释一下 , 首先我们设置 VIMODE 变量保存默认状态 ( 插入 ), 接着利用 zle 提供的两个 widgets 来对变量内容进行替换 , 并重绘提示符 。 然后执行 zle widgets, 并设置 RPROMPT 使指示符显示在右边 。 效果如下图 。

给 Zsh 的 Vi 模式添加指示符

Zsh安装配置指南 http://www.linuxidc.com/Linux/2013-09/90377.htm

使用 Zsh 的九个理由 http://www.linuxidc.com/Linux/2013-05/84191.htm

Zsh使用心得三则 http://www.linuxidc.com/Linux/2012-08/67735.htm

Linux下安装终极Shell Zsh http://www.linuxidc.com/Linux/2012-08/67734.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-05/118001.htm

赞(0) 打赏
转载请注明出处:服务器评测 » 给 Zsh 的 Vi 模式添加指示符
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏