如何防止Vim在括号中缩进包装文本

时间:2009-02-11 11:06:18

标签: vim latex indentation wrapping

这已经困扰了我很长一段时间,并试着尽我所能找不到它。

当我编辑文本(特别是乳胶,但无关紧要)文件时,我希望它在80列自动换行。它这样做,除非我碰巧在括号子句的中间,它缩进非常烦人的文本。例如,这很好用

Here is some text... over
two lines.

但这不是

Here is some text... (over
                      two
                      lines

如果有人能告诉我如何关闭它(仅用于文本/乳胶文件),我将非常感激。据推测,它与C中所需的行为有关,但我仍然无法弄清楚是什么问题。

6 个答案:

答案 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 documentation

  

文件类型插件缩进

     

这三个非常聪明   机制:

     
      
  1. 文件类型检测。每当你开始编辑文件时,Vim都会尝试   弄清楚这是什么样的文件   是。编辑“main.c”时,Vim会   看到“.c”扩展名和
      将此识别为“c”文件类型。   编辑以。开头的文件时   “#!/ bin / sh”,Vim会认出它   一个“sh”文件类型。文件类型   检测用于语法   突出显示和另外两个   以下项目。见| filetypes |。

  2.   
  3. 使用filetype插件文件编辑了许多不同的文件类型   不同的选择。例如,
      当你编辑“c”文件时,它就是这样   用于设置'cindent'选项   自动缩进行。这些   通常有用的选项设置是
      Vim包含在filetype插件中。   您也可以添加自己的,见
      |写入文件类型-插件|

  4.   
  5. 使用缩进文件编辑程序时,行的缩进可以   通常是自动计算的。   Vim附带了这些缩进规则   一些文件类型。看到   |:文件类型缩进上|和   在 'indentexpr'。

  6.   

答案 5 :(得分:1)

:设置noai

设置没有自动缩进tt可能是聪明的。查看文档,看看是否可以找到更多内容

http://www.vim.org/htmldoc/indent.html