繁体   English   中英

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

[英]Vim - how to store and execute commonly used commands?

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

:设置tw = 50
gggqG

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

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

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

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

.vimrc中的以下内容将定义一个新命令Wrap ,它可以执行您想要的操作。

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

称之为:Wrap

作为一个非常快速的开始,把它放在你的.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>

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

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

shell> vim *.txt

:argdo exe "normal gggqG"|up

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

是的,重要的是宏观

但它似乎是一个'命令',例如:set tw = 50将更好地包含在.vimrc文件中,所以每次启动时vim都会使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM