Я хочу додати *
до кінця кожного рядка у Vim.
Я спробував код невдало
:%s/\n/*\n/g
Я хочу додати *
до кінця кожного рядка у Vim.
Я спробував код невдало
:%s/\n/*\n/g
Відповіді:
:%s/$/\*/g
повинен працювати. Так слід, :%s/$/*/g
як містер Уігглз правильно вказує.
g
прапор непотрібний.
Навіть коротше, ніж команда: search:
:%norm A*
Ось що це означає:
% = for every line
norm = type the following commands
A* = append '*' to the end of current line
I*
а не 0i*
допоможе вам врятувати один натискання клавіші.
:
, це попередньо заповнить команду, в :'<,'>
яку ви можете потім ввести:'<,'>norm A*
I
замість цього -:%norm I*
Також:
:g/$/norm A*
Також:
gg<Ctrl-v>G$A*<Esc>
g
- це global
команда, яка робить щось із кожним відповідним рядком. $
відповідає кожному рядку. Це може бути також ^
або .*
. norma виконує команди, які ви зазвичай використовуєте в командному режимі. Значить, A*
додавати *
до кінця рядка.
Я думаю, що використання режиму візуального блоку є кращим і універсальнішим способом поводження з цим типом речей. Ось приклад:
This is the First line.
This is the second.
The third.
Щоб вставити "Привіт, світ". (пробіл + буфер обміну) в кінці кожного з цих рядків:
Результат:
This is the First line. Hello world.
This is the second. Hello world.
The third. Hello world.
(приклад від Vim.Wikia.com )
jj
можна натиснути, G
щоб перейти до останнього рядка. Це корисно у великих файлах, де натискання, j
поки ви не натиснете на останній рядок, не є практичним.
Вам не дуже потрібен g
кінець. Так стає:
:%s/$/*
Або якщо ви просто хочете *
в кінці, скажіть рядки 14-18:
:14,18s/$/*
або
:14,18norm A*
... і додавати (додавати початок) кожного рядка з *,
%s/^/*/g
Один варіант:
:g/$/s//*
Це знайде якір кінця рядка і замінить його *
. Я кажу "замінник", але насправді це більше додаток, оскільки якір - це особлива річ, а не регулярний характер. Для отримання додаткової інформації див. Потужність g - Приклади .
:% s / \ n / * \ r / g
Ваш перший варіант правильний деінде, але Vim чомусь повинен мати інший режим обробки нового рядка.
:s///
,\n
відповідає нульовому символу. Розділ:help sub-replace-special
актуальний.