[regex] Vim의 각 줄 끝에 문자열을 어떻게 추가합니까?
*
Vim의 각 줄 끝에 추가하고 싶습니다 .
코드를 성공적으로 시도하지 못했습니다
:%s/\n/*\n/g
답변
:%s/$/\*/g
작동해야합니다. 그래서해야 :%s/$/*/g
으로 MrWiggles이 올바르게 지적한다.
답변
: search 명령보다 짧습니다.
:%norm A*
이것이 의미하는 바입니다.
% = for every line
norm = type the following commands
A* = append '*' to the end of current line
답변
또한:
:g/$/norm A*
또한:
gg<Ctrl-v>G$A*<Esc>
답변
비주얼 블록 모드를 사용하는 것이 이러한 유형의 문제를 처리하는 데 더 좋고 다양한 방법이라고 생각합니다. 예를 들면 다음과 같습니다.
This is the First line.
This is the second.
The third.
“Hello world”를 삽입하려면 이 각 줄의 끝에 (공백 + 클립 보드) :
- 첫 번째 행의 문자에서 Ctrl-V를 누르십시오 (또는 Ctrl-V를 붙여 넣으면 Ctrl-Q).
- jj를 눌러 시각적 블록을 세 줄로 확장합니다.
- $를 눌러 시각적 블록을 각 줄의 끝까지 확장합니다. A를 누른 다음 공백을 누른 다음 Hello world를 입력하십시오. + 그런 다음 Esc.
결과는 다음과 같습니다.
This is the First line. Hello world.
This is the second. Hello world.
The third. Hello world.
( Vim.Wikia.com의 예 )
답변
각 줄의 끝에 Hello world를 추가하려면 다음을 수행하십시오.
:%s/$/HelloWorld/
특정 라인 수에 대해이 작업을 수행하려면 20 ~ 30을 사용하십시오.
:20,30s/$/HelloWorld/
각 줄의 시작 부분 에서이 작업을 수행하려면 다음을 사용하십시오.
:20,30s/^/HelloWorld/
답변
당신은 정말로 g
끝에 필요하지 않습니다 . 따라서 다음과 같이됩니다.
:%s/$/*
또는 *
끝 부분을 원한다면 14-18 행을 말합니다.
:14,18s/$/*
또는
:14,18norm A*
답변
… 각 줄 앞에 *를 붙이려면 (시작을 추가하십시오),
%s/^/*/g