如何将 vim 命令 :W 永久映射到 :w?

kil*_*les 4 vim

有时在 vim 中,我在保存时按住 shift,最后执行:W. 如何将我的 vimrc 设置为识别:W:w

Gom*_*dor 5

您不想映射一个键,而是创建一个行为与 w(rite) 相同的命令。只需将其写入 $HOME/.vimrc:

command W write
Run Code Online (Sandbox Code Playgroud)

  • 我建议完全支持 :write 命令:`command -bar -nargs=* -complete=file -range=% -bang Write <line1>,<line2>write<bang> <args>` (3认同)

Hep*_*ite 1

我也有一个“懒惰”的换档手指,所以我有许多命令别名:

" "Aliases" for commonly used commands+lazy shift finger:
command! -bar -nargs=* -complete=file -range=% -bang W         <line1>,<line2>write<bang> <args>
command! -bar -nargs=* -complete=file -range=% -bang Write     <line1>,<line2>write<bang> <args>
command! -bar -nargs=* -complete=file -range=% -bang Wq        <line1>,<line2>wq<bang> <args>
command! -bar                                  -bang Wqall     wqa<bang>
command! -bar -nargs=* -complete=file -range=% -bang We        <line1>,<line2>w<bang> | e <args>
command! -bar -nargs=* -complete=file -count   -bang Wnext     <count>wnext<bang> <args>
command! -bar -nargs=* -complete=file -count   -bang Wprevious <count>wprevious<bang> <args>
command! -bar -nargs=* -complete=file          -bang E         edit<bang> <args>
command! -bar -nargs=* -complete=file          -bang Edit      edit<bang> <args>
command! -bar                                  -bang Q         quit<bang>
command! -bar                                  -bang Quit      quit<bang>
command! -bar                                  -bang Qall      qall<bang>
command! -bar -nargs=? -complete=option              Set       set <args>
command! -bar -nargs=? -complete=help                Help      help <args>
command! -bar -nargs=* -complete=file          -bang Make      make<bang> <args>
command! -bar -nargs=* -complete=buffer        -bang Bdel      bdel<bang> <args>
command! -bar -nargs=* -complete=buffer        -bang Bwipe     bwipe<bang> <args>
command! -bar -nargs=* -complete=file          -bang Mksession mksession<bang> <args>
command! -bar -nargs=* -complete=dir           -bang Cd        cd<bang> <args>
command! -bar                                        Messages  messages
command! -bar -nargs=+ -complete=file          -bang Source    source<bang> <args>
Run Code Online (Sandbox Code Playgroud)

我有许多重复命令(例如W和 )的原因Write是因为我有足够的用户定义命令,如果我不这样做,Vim 可能会抱怨用户命令的使用不明确。(看::help user-cmd-ambiguous