Как использовать gvim для добавления возврата каретки (aka ENTER) к шаблону?

Что такое синтаксис vi/gvim для замены шаблона с шаблоном, который включает <ENTER>? Я знаю, что это возможно, но никогда не чувствовал, что погружение слишком глубоко в документации, чтобы знать, как это сделать.

Что-то вроде этого:

 :s/\(word\)/\1<ENTER>/

Но правильно:)

Спасибо

Ответ 1

Используйте кодировку "escape":

:s/\(word\)/\1\r/

См. документацию Vim для пробел шаблона.

Ответ 2

:s/\(word\)/\1\r/

В качестве альтернативы используйте Ctrl+V или Ctrl+Q для цитирования (escape) клавиши Enter:

:s/\(word\)\1^QENTER/

Где ^Q есть Ctrl+Q, а Enter - клавиша Enter.

Разъяснение. В зависимости от вашей установки должны работать либо ^Q, либо ^V. Символьный символ отличается на некоторых платформах.

(У этого есть полезный побочный эффект вставки соответствующего символа конца строки для любой используемой вами платформы, устраняя проблему CR vs. LF и CRLF.)

Ответ 3

Как раз для разъяснения, теперь, когда мы говорим о возврате каретки, следует отметить, что RETURN и ENTER не совпадают, или было бы правильнее сказать, что они не должны быть одинаковыми.

Я не использовал настольную клавиатуру в течение некоторого времени, но клавиша ENTER обычно имеет правую сторону справа, а клавиша RETURN - большая в середине.

Кнопка RETURN - это та, которая должна использоваться для ввода возврата каретки, а клавиша ENTER - клавиша, которая должна использоваться для ввода команд. Я помню старый редактор DOS EDT, в котором ключ RETURN был для новой строки, а клавиша ENTER - для предоставления команд. Вы не могли дать команду с RETURN. Я думаю, что ENTER также дал ^ 1 (line feed).

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

2 примера: Один, два и еще более очевидный три