vimtex:force}和{不跳过空行
当我使用vimtex:force}和{不跳过空行,vim,latex,keyboard-shortcuts,vim-plugin,Vim,Latex,Keyboard Shortcuts,Vim Plugin,当我使用}和{时,vimtex+vim会在文档中随机跳转,跳过几行空行。请参见下文 如何恢复默认vim行为以不跳过空行 使用查找}是否存在任何映射 :map } 现在,您可以取消映射找到的所有映射 :unmap } 如果你想把它放在你的.vimrc,我建议你在插件的after目录下做 例如~/.vim/after/plugin简短回答 跳过是随机发生的,这表明空行并不是真的空的。它们包含空格或其他特殊字符 将光标移动到这些“空”行,然后按$查看它们是否真的为空 如何避免此类问题: (是的,
}
和{
时,vimtex+vim会在文档中随机跳转,跳过几行空行。请参见下文
如何恢复默认vim行为以不跳过空行
使用查找
}
是否存在任何映射
:map }
现在,您可以取消映射找到的所有映射
:unmap }
如果你想把它放在你的.vimrc
,我建议你在插件的after目录下做
例如~/.vim/after/plugin
简短回答
跳过是随机发生的,这表明空行并不是真的空的。它们包含空格或其他特殊字符
将光标移动到这些“空”行,然后按$
查看它们是否真的为空
如何避免此类问题: (是的,其他人也有你的问题。) 使vim显示空白字符
Vim有一种显示这些字符的方法。使用
设置列表
并定义列表字符
。从列表字符的vim帮助中:
有关更多信息,请参见:帮助:列表
和:帮助列表字符
突出显示尾随空格
我发现总是在任何空格中显示一个字符是非常烦人的,我的眼睛很难看到一行末尾的一个小点(对于尾随空格)。因此,我使用突出显示组来显示所有尾随的空白字符:
" Show trailing whitespace
highlight ExtraWhitespace ctermbg=red " define highlight group
match ExtraWhitespace /\s\+$/ " define pattern
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/ " apply match to all buffers
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/ " don't match while in insert
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
autocmd BufWinLeave * call clearmatches() " It's good for the RAM
到您的.vimrc
或相应的ftplugin
文件。
我个人在我的vimrc
中有一个函数,在我不想要/不需要的文件类型中禁用它
您也可能对以下内容感兴趣:
免责声明
有些字符可能不是空白,但vim默认情况下也不会显示。我从来没有遇到过这个问题,但我在“简短回答”下所说的仍然适用。这些行是真的空的还是包含了你看不到的字符?@rkta解决了这个问题。难以置信的当然,下一个问题是如何不跳过视觉上的空行,但这是另一个问题。把你的评论作为回答,我会接受的。谢谢关于“视觉上是空的”行,像插件一样的插件会有所帮助。或者不需要插件,请看下面我的回答。@rkta的评论是正确的——这些行只是在视觉上是空的,但实际上它们有空格。然而,你的回答很有帮助:没有特殊的映射,这可能会让我发现那些空间符号。所以,谢谢你的回答!
" Show trailing whitespace
highlight ExtraWhitespace ctermbg=red " define highlight group
match ExtraWhitespace /\s\+$/ " define pattern
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/ " apply match to all buffers
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/ " don't match while in insert
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
autocmd BufWinLeave * call clearmatches() " It's good for the RAM
autocmd BufWritePre * %s/\s\+$//e