如何在Vim中使用预写命令

时间:2013-02-26 16:20:41

标签: vim command customization

有时一次又一次地重写类似的命令很无聊,所以我想要预先编写所有这些命令,将它们保存到一个自定义命令中并一劳永逸地使用它。但是,由于我将使用的新命令仅用于我当前使用的文件,我真的不想打扰更改vimrc文件。所以这是我的问题,是否可以将命令预先写入文件并将其加载到vim然后使用它一次?如果可能的话,怎么做?

感谢。

4 个答案:

答案 0 :(得分:5)

只需找到文件:

:source /p/a/t/h

此外,您可以在.vimrc中使用autocmd:

autocmd BufRead,BufNewFile *.whatever source /p/a/t/h

或者,不是直接获取文件,只需将命令直接放在autocmd

答案 1 :(得分:2)

没有具体的例子,很难提出建议。听起来您想要为特定文件类型定义自定义命令,如下所示:

:command -buffer ComplexSubstitute %substitute/foo/bar/g

请参阅:help user-commands。对于缓冲区范围,请将它们放入~/.vim/ftplugin/<filetype>_commands.vim左右。使用:filetype plugin on,这些文件会自动获取。或者,您可以使用与此相同的方式定义缓冲区本地:map ping。

答案 2 :(得分:1)

要快速重复上一个命令,您可以尝试我的redocommand plugin。它重复包含传递模式的历史记录中的最后一个命令。例如:

:%substitute/foo/bar/g
" ... some time later ...
:R %s

使用内置命令,您可以开始重复命令(:%s),然后使用完成最后一个命令。

答案 3 :(得分:0)

好吧,如果它只有一次,那就是一种自然(正常)的方式

  1. 在任何文件中的单行中编写命令。您可以将其拉到您想要处理的任何其他文件中。
  2. 在这一行,^y$来抽取代码。不要yy否则马车会被拉扯
  3. :转到命令行,点击C-r "将其粘贴到命令行。 <CR>获利。
  4. 有点麻烦,但它有效。我也是这样做的。)