最常见的方法是制作新的自定义映射或命令。映射由短击键调用,并与 Vim 的模式编辑保持一致(因此相同的键可以根据模式执行不同的操作);这些用于经常做的事情。命令是 Ex 命令,因此键入时间较长,但您将在 Vim 的命令行上完成。:help usr_40.txt有关如何编写映射和命令的详细说明,请参阅。您通常将它们放入您的中央配置文件中,~/.vimrc, 然后它们在启动 Vim 后立即可用。与以前的方法相比,映射和命令可以无缝地融入 Vim 并且可以很容易地调用,因此这些对于您将来会一次又一次地需要的东西来说非常有用。缺点是编辑和重新加载更复杂(重新启动 Vim 需要时间,重新加载到当前会话需要更多的努力)。
如果您的扩展通常有用,您可以将它们变成一个插件 ( :help write-plugin),然后可以轻松地在 Vim 安装之间共享、发布(在 GitHub 或vim.org上)。有大量可用的插件;所以在重新发明轮子之前先搜索一下!
*:so* *:source* *load-vim-script*
:so[urce] {file} Read Ex commands from {file}. These are commands that
start with a ":".
Triggers the |SourcePre| autocommand.
几乎没有比 Vim 更适合编写脚本的编辑器了,所以答案是肯定的。
几种方法是可能的:
:
并结束的任何内容<Enter>
)放在一个scriptname.vim
文件中,然后:source path/to/scriptname.vim
加载并执行它们。这里的好处是您可以保持脚本打开,进行编辑并保留,然后可以立即重新运行它。另一方面,调用不是很短,也不是很好,这也不能很好地扩展。(您可以:source
从一个脚本中提取另一个脚本,但这真的很难看。):help quote_alpha
)。您可以将寄存器粘贴到暂存缓冲区中,进行编辑,然后将其拉回(复制)到寄存器中,然后使用:@
. 命名寄存器通常会在会话中自动保存,但您也可以将它们放入您的.vimrc
(请参阅下一个)以防止宏被覆盖。:help usr_40.txt
有关如何编写映射和命令的详细说明,请参阅。您通常将它们放入您的中央配置文件中,~/.vimrc
, 然后它们在启动 Vim 后立即可用。与以前的方法相比,映射和命令可以无缝地融入 Vim 并且可以很容易地调用,因此这些对于您将来会一次又一次地需要的东西来说非常有用。缺点是编辑和重新加载更复杂(重新启动 Vim 需要时间,重新加载到当前会话需要更多的努力)。:help write-plugin
),然后可以轻松地在 Vim 安装之间共享、发布(在 GitHub 或vim.org上)。有大量可用的插件;所以在重新发明轮子之前先搜索一下!当然,您可以通过外部文件执行任何 vim 命令,包括搜索和替换,并使用
文档:
您还可以构建 vim 脚本以在 vim 外部使用。
例子:
接下来,我们可以
为了清理file1