Vim의 각 줄 끝에 텍스트를 추가하는 방법은 무엇입니까?
Vim에는 다음과 같은 텍스트가 있습니다.
key => value1
key => value2
key => value1111
key => value12
key => value1122222
각 줄 끝에 ","를 추가하고 싶습니다. 이전 텍스트는 다음과 같습니다.
key => value1,
key => value2,
key => value1111,
key => value12,
key => value1122222,
누구든지 이것을하는 방법을 알고 있습니까? 이를 위해 시각적 차단 모드를 사용할 수 있습니까?
이것은 파일의 모든 줄에 적용됩니다.
:%s/$/,/
전체 파일 대신 줄의 하위 집합을 수행하려는 경우 %
.
한 가지 방법은 시각적 선택을 수행 한 다음 :
. 그것은 :'<,'>
당신 을 위해 채워질 것입니다, 그리고 당신은 그것의 나머지를 입력합니다 (당신은 추가하기 만하면됩니다 s/$/,/
)
:'<,'>s/$/,/
실제로 시각적 블록 모드를 사용하여이를 수행하는 방법이 있습니다. $A
시각적 블록 모드에서 누르기 만하면 선택 항목의 모든 줄 끝에 추가됩니다. 를 누르면 추가 된 텍스트가 모든 줄에 나타납니다 Esc.
따라서 이것은 가능한 해결책입니다.
vip<C-V>$A,<Esc>
즉, 일반 모드에서 시각적으로 단락을 선택하고 vip
시각적 차단 모드로 전환 한 다음 CTRLV모든 줄 $A
에 쉼표를 추가하고 ,
를 눌러 Esc확인합니다.
설명서는에 :h v_b_A
있습니다. 예제 섹션에는 작동 방식에 대한 설명도 있습니다 :h v_b_A_example
..
또 다른 훌륭한 기능을 사용하는 또 다른 솔루션 :
:'<,'>norm A,
을 참조하십시오 :help :normal
.
ex 모드가 가장 쉽습니다.
:%s/$/,
: - enter command mode
% - for every line
s/ - substitute
$ - the end of the line
/ - and change it to
, - a comma
대체 명령은 시각적 선택에 적용 할 수 있습니다. 변경하려는 줄 위에 시각적 블록을 만들고를 입력 :하면 명령 줄이 다음과 같이 초기화 :'<,'>
됩니다.. 이는 대체 명령이 다음과 같이 시각적 선택에 대해 작동 함을 의미합니다.
:'<,'>s/$/,/
그리고 이것은 당신이 언급 한 것처럼 각 줄의 끝에 쉼표를 정말로 원한다고 가정하면 예제에서 작동 해야하는 대체입니다 . 후행 공백이 있으면 그에 따라 명령을 조정해야 할 수 있습니다.
:'<,'>s/\s*$/,/
이렇게하면 줄 끝 앞의 공백을 쉼표로 대체하여 후행 공백을 효과적으로 제거합니다.
동일한 명령이 일련의 행에서 작동 할 수 있습니다 (예 : 다음 5 개 행 : :,+5s/$/,/
또는 전체 버퍼 :) :%s/$/,/
.
'key'로 시작하는 줄 끝에 ','를 추가하려면 다음을 사용하십시오.
:%s/key.*$/&,
나는이 <M-DOWN>
매핑 (아래쪽 화살표 ALT) <DOWN>.
나는 매우 빠르게 라인의 일련의 마지막 명령을 반복 할 수 있도록합니다. 이 매핑을 사용하여 다음을 수행 할 수 있습니다.
A,<ESC>
그런 다음 Alt 키를 누른 상태에서 반복적으로 눌러 각 줄 끝에 쉼표를 추가합니다.
이것은 라인이 무엇을하고 변화를 얻지 못하는지를 아주 잘 제어 할 수 있기 때문에 저에게 잘 작동합니다.
(또한 쉽게 반복 할 수 있도록 유사한 매핑 된 다른 화살표가 있습니다. .
)
다음은 vimrc에 붙여 넣을 매핑 라인입니다.
map <M-DOWN> <DOWN>.
:%s/$/,/g
$는 줄의 끝과 일치합니다.
다음 매크로를 사용하여 작업을 수행 할 수도 있습니다.
qqA,^[0jq4@q
참고 URL : https://stackoverflow.com/questions/11303032/how-to-add-text-at-the-end-of-each-line-in-vim
'program story' 카테고리의 다른 글
UITableView의 셀 강조 색상 제거 (0) | 2020.08.29 |
---|---|
Scala : Scala 컬렉션에서 Traversable 특성과 Iterable 특성의 차이점은 무엇입니까? (0) | 2020.08.29 |
Print Statement를 사용하여 VARCHAR (MAX)를 인쇄하는 방법은 무엇입니까? (0) | 2020.08.29 |
GradientDescentOptimizer의 적응 형 학습률을 설정하는 방법은 무엇입니까? (0) | 2020.08.29 |
Vim에서 "계속하려면 Enter 키를 누르거나 명령을 입력하십시오"프롬프트를 비활성화하려면 어떻게해야합니까? (0) | 2020.08.28 |