![VIM:创建一个函数来生成几行缓冲区](https://linux22.com/image/18440/VIM%EF%BC%9A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%E6%9D%A5%E7%94%9F%E6%88%90%E5%87%A0%E8%A1%8C%E7%BC%93%E5%86%B2%E5%8C%BA.png)
我有大约 90 个配置文件,需要向其中添加几乎相同的附加代码块,每次只有两个单词的实例不同。我非常愿意尽可能少地重复。
在 VIM 中,是否可以编写一个函数,根据参数生成文本块,并将其输入缓冲区或将其粘贴到当前光标位置之后?如果是这样,我应该查看哪些文档?
答案1
我喜欢剪辑伴侣几乎,它可以用于例如 write newconf
, press ,Tab
它会扩展newconf
为某个指定的模板并将插入符号放置在一个位置(并通过后续按下将插入符号放置在下一个位置Tab
)。显然,哈特无法解释这个视频解释一下(我猜,这里没有插件)。不确定这是否是最好的解决方案,但总的来说它非常方便。
也许sed
,patch
甚至Coccinelle
(“语义修补”)也可能有所帮助。
答案2
您也可以通过使用缩写自定义您的 .vimrc 文件,直接在 VIM 中执行此操作。
在.vimrc中:
:ab _mytxt ################################################################################^M# This is a comment^Mkey1=value1^Mkey2=value2^M#^Mecho "Hello, World!"^M################################################################################
在 vi 中,在插入模式下,只需键入_mytxt
,vim 就会自动将其替换为未缩写的文本。
_mytxt
变成
################################################################################
# This is a comment
key1=value1
key2=value2
#
echo "Hello, World!"
################################################################################
只需阅读 .vimrc 文件并对其进行自定义即可。您还可以查看 .exrc 文件的自定义,这些文件通常可由 VIM 使用。