Vim auto line-break - PullRequest
       36

Vim auto line-break

26 голосов
/ 03 февраля 2012

Когда я пишу длинную строку текста в vim (например, абзац в латексе), он переносит мой текст в несколько строк, и это хорошо.Однако, если я затем попробую перемещаться по этим строкам с помощью 'j' и 'k' (или стрелок вверх / вниз), он пропустит весь абзац.Я исправил эту проблему, выделив абзац и нажав gq.Это вставляет разрывы строк в конце каждой строки.

Мой вопрос: есть ли способ автоматизировать это, поэтому мне не нужно постоянно выделять текст и нажимать gq?

Ответы [ 2 ]

46 голосов
/ 03 февраля 2012

Вы можете ограничить ширину линии с помощью опции textwidth (см. :help tw).

Например, если вы хотите ограничить ширину до 80 столбцов, вы можете использовать:

:set tw=80

С помощью этой опции, когда вы будете печатать что-то длиннее 80 столбцов, Vim автоматически вставит символ новой строки.

27 голосов
/ 03 февраля 2012

Вам нужно немного отступить назад и использовать gj и gk, которые идут вниз и вверх внутри обернутых строк.

Поскольку gj и gk работают точно так же, как jи k в не обернутых строках вы можете безопасно отобразить j или <down> на gj и k или <up> на gk, делая все это бесшовным.

- РЕДАКТИРОВАТЬ-

Да, это не решает непосредственную проблему Эдди, но оно решает его первоначальную проблему (вертикальное движение в обернутых линиях), которая привела его к плохому обходному пути, который, в свою очередь, поставил его в такую ​​ситуацию.

...