Vim - 如何存储和执行常用命令?

Fre*_*red 6 vim text editor

如果我想用同一组命令处理一批文本文件,例如:

:设置tw = 50
gggqG

我可以保存以上内容并使用快捷命令运行它吗?

jqn*_*qno 12

如果您只想使用它一次,请使用其他一些答案中指定的宏.如果您想更频繁地执行此操作,可以在.vimrc文件中包含以下行:

:map \r :set tw=50<CR>gggqG
Run Code Online (Sandbox Code Playgroud)

这将映射\r为在您按下时导致两行执行\r.当然,您也可以选择其他快捷方式,例如<C-R>(Ctrl + R)<F12>或其他.


Ran*_*ris 9

.vimrc中的以下内容将定义一个执行所需操作的新命令Wrap.

command! Wrap :set tw=50 | :normal gggqG
Run Code Online (Sandbox Code Playgroud)

叫它 :Wrap


Pao*_*sco 6

作为一个非常快速的开始,把它放在你的.vimrc中:

" define the function
" '!' means override function if already defined
" always use uppercase names for your functions
function! DoSomething()
    :set tw=50
    gggqG 
endfunction

" map a keystroke (e.g. F12) in normal mode to call your function
nmap <F12> :call DoSomething()<CR>
Run Code Online (Sandbox Code Playgroud)

注意:上面的格式化代码看起来相当可怕,但以"是注释的行开头".