Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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_Latex_Indentation_Word Wrap - Fatal编程技术网

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

如何防止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 如果有人能告诉我

这件事困扰了我很长时间,尽管我尽了最大的努力,但还是找不到解决的办法

当我编辑文本(特别是latex,但这并不重要)文件时,我希望它在80列时自动换行。它是这样做的,除非我碰巧在括号中,它会缩进文本,这是很烦人的。例如,这很好

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)。

来自官方网站

文件类型插件缩进

这三个开关非常聪明 机制:

  • 文件类型检测。无论何时开始编辑文件,Vim都会尝试 找出这是什么类型的文件 是编辑“main.c”时,Vim将 请参阅“.c”扩展名和
    将其识别为“c”文件类型。 编辑以开头的文件时 “#!/bin/sh”,Vim会将其识别为 “sh”文件类型。文件类型 检测用于语法 突出显示和其他两个
    以下项目。请参见|文件类型|

  • 使用文件类型插件文件可以编辑许多不同的文件类型 不同的选择。例如,
    当你编辑一个“c”文件时,它非常简单 将“cindent”选项设置为 自动缩进行。这些 常用的选项设置有
    在文件类型插件中包含Vim。 您也可以添加自己的,请参见
    |编写文件类型插件|

  • 编辑程序时使用缩进文件,行的缩进可以 通常是自动计算的。 Vim附带了这些缩进规则 许多文件类型。看见 |:在|和上的文件类型缩进 “indentexpr”


  • 其他选项不起任何作用,文件类型检测也不会改变它。

    这可能与此有关,当从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