:q 和 :Q 也是如此。我几乎总是没有足够快地放弃轮班,并且看到 :Q 和 :W 无论如何都没有被使用,我认为让它们与小写对应物一样会很好。
6 回答
hack 是通过 a :cmap
or进行的:cabb
,但这些都有副作用(即其他实例也会被无意转换)。
cmdalias插件做得更好。
但我认为对于您的用例,最好定义自己的大写命令变体。主要挑战是支持原始选项的所有选项:
command! -bang -range=% -complete=file -nargs=* W <line1>,<line2>write<bang> <args>
command! -bang Q quit<bang>
是的,您可以像这样在 .vimrc 中重新映射它们:
cabb W w
cabb Q q
或者
cmap W w
cmap Q q
缺点是“W”在两种情况下都会扩展为“w”(cmap
显示变化,cabb
不显示)。
在 Vim 中重新映射键以满足您的需要通常很容易。尝试查看以下教程:在 Vim 中映射键
编辑: 正如@IngoKarkat 指出的那样,这是一个骇人听闻的解决方案。我把它留在这里是因为它又快又容易。但是,缺点很明显。它会干扰其他用途。
noremap 对我有用,没有已知的副作用
noremap :W :w
这不是您问题的答案,而是您问题的解决方案——“我几乎总是不会足够快地放弃轮班”。交换冒号和分号的意思。然后不需要移位,因为您将使用;w
and ;q
。
nnoremap ; :
nnoremap : ;
vnoremap ; :
vnoremap : ;
假设您正在寻找一种更快的方法:wq
真的这是ESCthen :(它本身是Shift+ ;) then wthen qthen的组合Enter。五次击键,如果算作:两次,则六次。
相反,尝试ESCthen(按住)Shift再按Zthen Z(根本不:)。它将立即保存并退出文件。少一次击键(或两次,取决于你如何计算)加上更难搞砸。
您可以定义W
并将Q
以下条目添加到您的.vimrc
:
command! W write
command! Q quit