Как выполнить возврат каретки без прерывания строки в VIM?

#vim

#vim

Вопрос:

Возможно ли обеспечить возврат каретки без прерывания строки? Например, я хочу написать следующие предложения в 2 строки, а не в 4 (и я, конечно, не хочу вводить пробелы) :

  1. На корабле в море: слышен сильный шум грома и молнии. Введите Master и Boatswain
  2. Мастер : Боцман! Боцман: Вот, мастер: какое приветствие?

Заранее спасибо за вашу помощь

Тьерри

Комментарии:

1. Вам нужно иметь "Master : Boatswain! Boatswain : Here, master: what cheer?" на диске и "Master : Boatswain!nBoatswain : Here,nmaster: what cheer?" на дисплее?

2. Вы спрашиваете, как настроить перенос строк?

3. Джефроми (и ZyX): Вы спрашиваете, как настроить перенос строк? Нет, я недостаточно ясно объяснил себя. Моя цель — иметь возможность написать в 1 строке VIM, рассматриваемой как блок текста, диалог, различающий главных героев таким образом: — Master: (его текст), а затем выполнить возврат каретки, приводящий к — Boatswain: (его текст в начале строки, как в театральной пьесе) И весь этот фрагмент диалога в 1 строке VIM, затем создайте новую строку, например, для didascalia и т.д… При желании вы можете написать мне по адресу: tguillemin@gmail.com Тьерри

4. @user413016 Я все еще ничего не понимаю. Напишите, что вы хотите видеть на диске, а что на экране. Или вам нужно, чтобы Vim скрывал некоторые части строки при вводе ввода?

5. Или, может быть, вы хотите, чтобы функция getline, движения по линиям (как d в dd ) и другие подобные вещи использовали весь диалог целиком, в то время как внутри него вы увидите разрывы строк (и эти разрывы строк также будут сохранены на диске).

Ответ №1:

В текстовом файле ожидаемый символ в конце строки или последовательность символов зависит от платформы. В Windows используется последовательность «возврат каретки (CR, r) перевод строки (LF, n)», в то время как системы Unix используют только перевод строки (LF n). Macintoshes традиционно использовали только r, но в наши дни в OS X я вижу, что они работают практически с любой версией. Текстовые редакторы в любой системе часто способны поддерживать все три версии и выполнять преобразование между ними.

Для VIM смотрите Эту статью, в которой приведены советы по преобразованию / установке последовательностей символов в конце строки.

Однако я не совсем уверен, какое преимущество имело бы для вас это изменение: какую бы последовательность или символ вы ни использовали, это всего лишь маркер для конца строки (поэтому в конце первой строки должен быть один из них, и у вас в любом случае будет текстовый файл в 2 строки). Однако, если ваше приложение ожидает определенный символ, вы можете либо изменить приложение — многие языки программирования поддерживают некоторую форму «универсального» перевода строки — либо изменить данные.

Ответ №2:

На всякий случай, это то, что вы ищете:

 :set wrap
:set linebreak
  

Первый говорит vim переносить длинные строки, а второй говорит ему прерывать строки только при разрывах слов, а не в середине слов, когда они достигают размера окна.