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

时间:2009-08-24 11:01:01

标签: text editor vim

如果我想使用相同的命令集处理一批文本文件,例如:

:set tw = 50
gggqG

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

6 个答案:

答案 0 :(得分:12)

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

:map \r :set tw=50<CR>gggqG

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

答案 1 :(得分:9)

.vimrc中的以下内容将定义一个符合您需要的新命令Wrap

command! Wrap :set tw=50 | :normal gggqG

使用:Wrap

进行调用

答案 2 :(得分: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>

注意:上面的格式化代码看起来相当可怕,但以“是注释。

开头的行

答案 3 :(得分:2)

除宏外,您可以使用argdo。此命令将对所有打开的文件执行相同的操作。以下是使用:argdo:normal格式化所有打开文件的方式:

shell> vim *.txt

:argdo exe "normal gggqG"|up

答案 4 :(得分:1)

在你去写成千行.vimrc之前(这是一件好事,但你可以推迟一段时间),我想你可能想看普通录音,特别是你可能考虑使用q x (其中 x 是任意键)进行录制,q完成录制,@ x 执行录制的宏。

答案 5 :(得分:0)

是的,重要的词是

但是看起来像'命令'如:set tw = 50会更好地包含在.vimrc文件中,所以每次启动时vim都会使用它。