Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vim中包装文本时如何调用函数?_Vim_Hook_Word Wrap_Autocommand - Fatal编程技术网

在vim中包装文本时如何调用函数?

在vim中包装文本时如何调用函数?,vim,hook,word-wrap,autocommand,Vim,Hook,Word Wrap,Autocommand,在vim中,我希望在视觉上使空间透明,我必须在标记中写入文本。我对textwidth=79使用硬包装。通过计算,我知道一章有20行。所以,我要做的是插入20行空行,以获得我能写的东西的视觉感受。在写了一些行之后,我手动删除了空行中已经写的行数,这样视觉印象仍然是正确的 我想做的是自动化这个删除过程。这意味着如果最后一行为空,我希望vim自动删除最后一行下方的一行,并且在vim之后自动开始新的一行,因为我在之前的行中达到了79个字符。我该怎么做 我知道vim中有自动命令,但我还没有找到适合操作的:

在vim中,我希望在视觉上使空间透明,我必须在标记中写入文本。我对
textwidth=79
使用硬包装。通过计算,我知道一章有20行。所以,我要做的是插入20行空行,以获得我能写的东西的视觉感受。在写了一些行之后,我手动删除了空行中已经写的行数,这样视觉印象仍然是正确的

我想做的是自动化这个删除过程。这意味着如果最后一行为空,我希望vim自动删除最后一行下方的一行,并且在vim之后自动开始新的一行,因为我在之前的行中达到了79个字符。我该怎么做


我知道vim中有自动命令,但我还没有找到适合操作的
:在vim自动硬包装一行/插入到新行后(或以您希望的方式描述它)

我认为该特定操作没有事件,但有一个名为
formatexpr
的缓冲区本地选项,
gq
&co将使用该选项(如果设置)。因此,您可以编写一个函数来检查任何占位符空白(如果存在)。该函数可以调用文本格式命令
gqq
,以保持原始感觉(+光标移动到新的空行)