在vim中别名命令

前端之家收集整理的这篇文章主要介绍了在vim中别名命令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Vim是我的首选文本编辑器,当我编程,因此我总是遇到一个特别恼人的问题。

经常,当我快速需要保存缓冲区并继续一些其他杂项任务,我做典型

:w

然而,我 – 似乎是超过50%的时间 – 总是设法利用这一点:w。当然,vim喊我,因为W是一个无效的命令

E492: Not an editor command: W

我的问题是如何可以一个别名冒号命令在vim。特别是,你能举例说明如何别名W到W。

我知道将密钥映射到某些命令的过程。不幸的是,这不是我要找的。

要使完成保持不变,请尝试使用
cnoreabbrev W w

,它将用w替换命令行中的W,但是只有当它既不跟随也不在字符字符之前,则:W< CR>将被替换为:w< CR&gt ;,但是:不会写。 更新 这里是我现在写的:

cnoreabbrev <expr> W ((getcmdtype() is# ':' && getcmdline() is# 'W')?('w'):('W'))

作为功​​能:

fun! SetupCommandAlias(from,to)
  exec 'cnoreabbrev <expr> '.a:from
        \ .' ((getcmdtype() is# ":" && getcmdline() is# "'.a:from.'")'
        \ .'? ("'.a:to.'") : ("'.a:from.'"))'
endfun
call SetupCommandAlias("W","w")

猜你在找的Bash相关文章