这已经困扰了我很长一段时间,并试着尽我所能找不到它。
当我编辑文本(特别是乳胶,但无关紧要)文件时,我希望它在80列自动换行。它这样做,除非我碰巧在括号子句的中间,它缩进非常烦人的文本。例如,这很好用
Here is some text... over
two lines.
但这不是
Here is some text... (over
two
lines
如果有人能告诉我如何关闭它(仅用于文本/乳胶文件),我将非常感激。据推测,它与C中所需的行为有关,但我仍然无法弄清楚是什么问题。
答案 0 :(得分:13)
:set nocindent
其他选项不执行任何操作,文件类型检测不会更改它。
答案 1 :(得分:5)
您可能需要关闭三个选项:设置noai,设置nosi和setnocin(autoindent,smartindent和cindent)。
答案 2 :(得分:3)
您可以查看autoindent选项:
autoindent - ai
开始换行时从当前行复制缩进(键入 在插入模式下或使用“o”或“O”命令时)。如果你不 在新行上键入任何内容,然后键入或 ,缩进再次被删除。当autoindent打开时, 格式化(使用“gq”命令或当你到达'textwidth'时 插入模式)使用第一行的缩进。什么时候 'smartindent'或'cindent'在缩进上具体改变 案例。当'paste'选项出现时,'autoindent'选项被重置 组。 {与Vi的小差异:缩进后删除 键入或,向上或向下移动时的光标位置 删除缩进后; Vi将光标放在已删除的某个位置 缩进}。
答案 3 :(得分:3)
这可能是相关的,当从gui粘贴到终端窗口时,vim无法区分粘贴模式,所以要阻止任何奇怪的事情发生:
set paste
然后粘贴文字
set nopaste
我在尝试粘贴xml文本时遇到了类似的问题,它只会保持缩进。 :)
gvim ,vim的gui版本,可以检测粘贴模式。
答案 4 :(得分:2)
文件类型插件缩进
这三个非常聪明 机制:
文件类型检测。每当你开始编辑文件时,Vim都会尝试 弄清楚这是什么样的文件 是。编辑“main.c”时,Vim会 看到“.c”扩展名和
将此识别为“c”文件类型。 编辑以。开头的文件时 “#!/ bin / sh”,Vim会认出它 一个“sh”文件类型。文件类型 检测用于语法 突出显示和另外两个 以下项目。见| filetypes |。使用filetype插件文件编辑了许多不同的文件类型 不同的选择。例如,
当你编辑“c”文件时,它就是这样 用于设置'cindent'选项 自动缩进行。这些 通常有用的选项设置是
Vim包含在filetype插件中。 您也可以添加自己的,见
|写入文件类型-插件|- 醇>
使用缩进文件编辑程序时,行的缩进可以 通常是自动计算的。 Vim附带了这些缩进规则 一些文件类型。看到 |:文件类型缩进上|和 在 'indentexpr'。
答案 5 :(得分:1)