在vim中是否有办法:W做同样的事情:w?

时间:2012-05-14 19:56:40

标签: vim

同样适用于:q和:Q。我几乎总是不会轻易放松换班,并且看到:Q和:W不会被使用我认为让它们和它们的小写对应物一样做会很好。

6 个答案:

答案 0 :(得分:10)

hack是通过:cmap:cabb,但这些都有副作用(即其他实例也会无意中被转换)。

cmdalias plugin做得更好。

但我认为对于您的用例,最好定义自己的大写命令变体。主要挑战是支持原始选项的所有选项:

command! -bang -range=% -complete=file -nargs=* W <line1>,<line2>write<bang> <args>
command! -bang Q quit<bang>

答案 1 :(得分:3)

是的,您可以在.vimrc中重新映射它们,如下所示:

cabb W w
cabb Q q

cmap W w
cmap Q q

缺点是两种情况下“W”会扩展为“w”(cmap显示更改,cabb不显示。)

在Vim中重新映射密钥以满足您的需求通​​常非常容易。尝试查看以下教程:Mapping keys in Vim

修改 正如@IngoKarkat所指出的,这是一个hackish解决方案。我将它留在这里,因为它快速而简单。然而,缺点很明显;它会干扰其他用途。

答案 2 :(得分:2)

noremap适用于我,没有已知的副作用

noremap :W :w

答案 3 :(得分:1)

这不是你的问题的答案,而是你问题的解决方案 - “我几乎总是不会在换班时放松”。交换冒号和分号的含义。然后不需要轮班,因为您将使用;w;q

nnoremap ; :
nnoremap : ;
vnoremap ; :
vnoremap : ;

答案 4 :(得分:0)

假设您正在寻找更快捷的方式:wq

真的这是 ESC 的组合,然后是(它本身是 Shift + ; )然后< kbd> w 然后 q 然后输入。五次击键,如果算上,则为六次。

相反,尝试 ESC 然后(按住) Shift 再次按 Z 然后 Z (否。它会立即保存并退出文件。少一击(或两次,取决于你如何计算)加上更难搞乱。

答案 5 :(得分:0)

您可以通过将以下条目添加到您的 W 来定义 Q.vimrc

command! W write
command! Q quit