如何防止Vim缩进括号中的包装文本
这件事困扰了我很长时间,尽管我尽了最大的努力,但还是找不到解决的办法 当我编辑文本(特别是latex,但这并不重要)文件时,我希望它在80列时自动换行。它是这样做的,除非我碰巧在括号中,它会缩进文本,这是很烦人的。例如,这很好如何防止Vim缩进括号中的包装文本,vim,latex,indentation,word-wrap,Vim,Latex,Indentation,Word Wrap,这件事困扰了我很长时间,尽管我尽了最大的努力,但还是找不到解决的办法 当我编辑文本(特别是latex,但这并不重要)文件时,我希望它在80列时自动换行。它是这样做的,除非我碰巧在括号中,它会缩进文本,这是很烦人的。例如,这很好 Here is some text... over two lines. 但事实并非如此 Here is some text... (over two lines 如果有人能告诉我
Here is some text... over
two lines.
但事实并非如此
Here is some text... (over
two
lines
如果有人能告诉我如何关闭此功能(仅针对文本/乳胶文件),我将非常感激。这可能与C语言中所期望的行为有关,但我仍然无法找出问题所在。:set noai
设置没有自动缩进,但tt可能是智能缩进。看看这份文件,看看你能不能找到更多的东西
您可以查看自动缩进选项: 自动缩进-人工智能 开始新行时从当前行复制缩进(键入 在插入模式下或使用“o”或“o”命令时)。如果你不 在新行中键入除外的任何内容,然后键入或 ,则再次删除缩进。启用“自动缩进”时, 格式化(使用“gq”命令或当您在 插入模式)使用第一行的缩进。什么时候 “智能缩进”或“cindent”位于缩进上,并在特定的位置更改 案例。选择“粘贴”选项时,将重置“自动缩进”选项 设置{与Vi的微小差异:当 键入或,上下移动时的光标位置为 在删除的缩进之后;Vi将光标放在删除的缩进中的某个位置 缩进}
您可能需要关闭三个选项:设置noai、设置nosi和设置NOCIN(自动缩进、智能缩进和cindent)。来自官方网站 文件类型插件缩进 这三个开关非常聪明 机制:
将其识别为“c”文件类型。 编辑以开头的文件时 “#!/bin/sh”,Vim会将其识别为 “sh”文件类型。文件类型 检测用于语法 突出显示和其他两个
以下项目。请参见|文件类型|
当你编辑一个“c”文件时,它非常简单 将“cindent”选项设置为 自动缩进行。这些 常用的选项设置有
在文件类型插件中包含Vim。 您也可以添加自己的,请参见
|编写文件类型插件|
其他选项不起任何作用,文件类型检测也不会改变它。这可能与此有关,当从gui粘贴到终端窗口时,vim无法区分粘贴模式,因此要阻止任何奇怪的事情发生:
set paste
然后粘贴文本
set nopaste
我在尝试粘贴xml文本时遇到了类似的问题,它只会不断缩进。:)
gvim,vim的gui版本,可以检测粘贴模式。Ah。辛登特似乎是罪魁祸首。我试过自动缩进和智能缩进,但它们没有区别。为文本/latex文件设置此选项的最佳方法是什么?看看我的另一个答案,我认为你会有文件类型缩进的解决方案。我认为你应该尝试寻找一个文件类型插件,该插件由具有相同问题的人为latex文件编写,或者你可以尝试编写一个。啊,好的。我会看一看乳胶的,看看它是不是很容易修改为布尔人使用!切换。这样您就可以使用命令history::set paste!:这就是我遇到的问题。谢谢有趣的是,这是唯一一个对我有效的方法,
:set nocindth
在我的情况下什么也没做。在这样做之后,大多数人可能会想使用:set smartindent
,继续缩进到指定的shiftwidth
(例如,上面一行开始右侧的一个选项卡)--通过在~/.vim/indent/C.vim
中放置setlocal smartindent
,可以使C类型文件永久化。
set nopaste