Подтвердить что ты не робот

Как добавить строку в конец каждой строки в Vim?

Я хочу добавить * в конец каждой строки в Vim.

Я пробовал код безуспешно

:%s/\n/*\n/g
4b9b3361

Ответ 1

:%s/$/\*/g

должен работать. Так что :%s/$/*/g как MrWiggles указывает правильно.

Ответ 2

Даже короче, чем команда поиска:

:%norm A*

Вот что это значит:

 %       = for every line
 norm    = type the following commands
 A*      = append '*' to the end of current line

Ответ 3

также:

:g/$/norm A*

также:

gg<Ctrl-v>G$A*<Esc>

Ответ 4

Я думаю, что использование визуального блочного режима - лучший и более универсальный метод борьбы с этим типом вещей. Вот пример:

Это первая строка.
Это второй. Третий.

Вставить "Привет мир". (пробел + буфер обмена) в конце каждой из этих строк:

  • На символе в первой строке нажмите Ctrl-V (или Ctrl-Q, если Ctrl-V это паста).
  • Нажмите jj, чтобы увеличить визуальный блок на три строки.
  • Нажмите $, чтобы увеличить визуальный блок до конца каждой строки. Нажмите A затем пробел, затем введите Hello world. + затем Esc.

Результат:

Это первая строка. Привет, мир. Это второе. Привет, мир. Третий. Привет мир.

(пример из http://vim.wikia.com/wiki/Inserting_text_in_multiple_lines)

Ответ 5

Если u хочет добавить Hello world в конце каждой строки:

:%s/$/HelloWorld/

Если вы хотите сделать это для определенного количества строк, скажем, от 20 до 30 используйте:

:20,30s/$/HelloWorld/

Если вы хотите сделать это в начале каждой строки, используйте:

:20,30s/^/HelloWorld/

Ответ 6

... и добавить (добавить начало) каждую строку с помощью *,

%s/^/*/g

Ответ 7

В конце вам не нужен g. Так оно и делается:

:%s/$/*

Или, если вы просто хотите * в конце, скажите строки 14-18:

:14,18s/$/*

или

:14,18norm A*

Ответ 8

Один из вариантов:

:g/$/s//*

Это найдет все привязки конца строки и заменит его на *. Я говорю "подставить", но на самом деле это скорее добавление, поскольку якорь - это особая вещь, а не обычный характер. Для получения дополнительной информации см. Сила g - Примеры.

Ответ 9

%s/\s*$/\*/g

это сделает трюк и убедит, что ведущие пробелы игнорируются.

Ответ 10

:%s/\n/*\r/g

Ваша первая правильна в любом месте, но у Vim по какой-то причине должна быть разная обработка новой строки.