Как предотвратить отступ в Vim в скобках - PullRequest
14 голосов
/ 11 февраля 2009

Это долго меня беспокоило, и я стараюсь изо всех сил, но я не могу найти способ обойти это.

Когда я редактирую текстовые (в частности, латексные, но это не имеет значения) файлы, я хочу, чтобы он автоматически переносился на 80 столбцов. Он делает это, за исключением того случая, когда я оказался в середине предложения в скобках, он отступает от текста, который очень раздражает. Например, это прекрасно работает

Here is some text... over
two lines.

но это не

Here is some text... (over
                      two
                      lines

Если кто-нибудь подскажет, как это отключить (только для текстовых / латексных файлов), я был бы очень благодарен. Предположительно, это как-то связано с тем, что это желаемое поведение в C, но я все еще не могу понять, что не так.

Ответы [ 6 ]

13 голосов
/ 25 января 2010
:set nocindent

Другие опции ничего не делают, и определение типа файла не меняет его.

5 голосов
/ 11 февраля 2009

Существует три параметра, которые вам может потребоваться отключить: установить noai, установить nosi и setnocin (автоиндентирование, смартиндент и cindent).

3 голосов
/ 07 августа 2010

Это может быть связано с тем, что при вставке из графического интерфейса в окно терминала vim не может различить режимы вставки, поэтому, чтобы предотвратить появление каких-либо странных вещей:

set paste

затем вставьте текст

set nopaste

У меня были похожие проблемы при вставке XML-текста, он просто оставлял отступы. :)

gvim , версия графического интерфейса vim, может определять режимы вставки.

3 голосов
/ 11 февраля 2009

Вы можете взглянуть на опцию autoindent:

autoindent - ai

Копировать отступ из текущей строки при начале новой строки (набрав в режиме вставки или при использовании команды «o» или «O»). Если вы этого не сделаете введите что-нибудь в новой строке, кроме, а затем введите или отступ снова удаляется. Когда автоиндент включен, форматирование (с помощью команды "gq" или когда вы достигнете 'textwidth' в Режим вставки) использует отступ первой строки. когда 'smartindent' или 'cindent' в отступе изменен в конкретном случаев. Параметр «autoindent» сбрасывается, если параметр «paste» задавать. {небольшое отличие от Vi: после удаления отступа, когда набрав или, позиция курсора при перемещении вверх или вниз после удаленного отступа; Ви ставит курсор куда-то в удаленный отступа}.

2 голосов
/ 11 февраля 2009

Из официальной Vim документации

отступ для плагина типа файла на

Это включает три очень умных механизмы:

  1. Обнаружение типа файла. Всякий раз, когда вы начинаете редактировать файл, Vim будет пытаться выяснить, что это за файл является. Когда вы редактируете "main.c", Vim см. расширение ".c" и
    распознать это как "c" тип файла. Когда вы редактируете файл, который начинается с "#! / bin / sh", Vim распознает его как тип файла "sh". Тип файла обнаружение используется для синтаксиса выделение и два других
    предметы ниже. Смотрите | filetypes |.

  2. Использование файлов плагинов filetype Многие разные типы файлов редактируются с разные варианты. Например,
    когда вы редактируете "c" файл, это очень полезно установить опцию 'cindent' в автоматически выравнивать строки. Эти Обычно полезные параметры настройки
    включены с Vim в плагины файловых типов. Вы также можете добавить свои собственные, см
    | Запись Filetype-плагин |.

  3. Использование файлов отступов При редактировании программ отступ строки может часто рассчитывается автоматически. Vim поставляется с этими правилами отступа для ряд типов файлов. Увидеть |: Filetype-отступ-на | а также 'Indentexpr'.

1 голос
/ 11 февраля 2009

: установить noai

не устанавливает автоматический отступ, хотя может быть smartindent Проверьте документ и посмотрите, сможете ли вы найти что-то еще

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

...