Vim의 줄 끝에서 줄 바꿈을 삭제하여 다음 줄이 현재 줄에 추가되도록하는 방법이 있습니까?
예를 들면 다음과 같습니다.
Evaluator<T>():
_bestPos(){
}
줄을 복사하여 이전 줄에 붙여 넣지 않고이 모든 것을 한 줄에 넣고 싶습니다. 커서를 각 줄의 끝 부분에 놓고 키를 누르고 다음 줄이 커서가있는 것과 같은 줄로 이동할 수 있어야합니다.
최종 결과 :
Evaluator<T>(): _bestPos(){ }
Vim에서 가능합니까?
답변
첫 번째 줄에있는 경우 (대문자)를 누르면 J해당 줄과 다음 줄이 합쳐져 줄 바꿈이 제거됩니다. 이것을 카운트와 결합 할 수도 있으므로를 누르면 3J
3 개의 라인이 모두 결합됩니다.
답변
확실히. Vim은 \ n 문자를 줄 바꿈으로 인식하므로 검색하고 바꿀 수 있습니다. 명령 모드에서 다음을 입력하십시오.
:%s/\n/
답변
정상 모드에서 상단 라인에있는 동안 Shift+를 누르십시오 j.
개수를 앞에 추가 할 수도 있으므로 3J
맨 위 줄에서 해당 줄을 모두 합칩니다.
답변
다른 답변에서 언급했듯이 (대문자) J
및 검색 + 바꾸기는 \n
일반적으로 줄 바꿈 문자를 제거하고 줄을 연결하는 데 사용할 수 있습니다.
그러나 마지막 줄에서 후행 줄 바꿈 문자 를 제거하려면 Vim 에서이 작업을 수행해야합니다.
:set noendofline binary
:w
답변
J
여분의 선행 간격 (있는 경우)을 삭제하고 단일 공백으로 라인을 결합합니다. (일부 예외 : after 뒤에 /[.!?]$/
공백이 삽입 될 수 있습니다 /^\s*)/
.
해당 동작을 원하지 않으면 gJ
개행을 제거하고 공백으로 영리한 작업을 수행하지 마십시오.
답변
다음은 모두 커서가 첫 번째 줄에 있다고 가정합니다.
노멀 매핑 사용 :
3Shift+J
Ex 명령 사용 :
:,+2j
의 약어입니다
:.,.+2 join
다음 바로 가기로 입력 할 수도 있습니다.
3:j
더 짧은 Ex 명령 :
:j3
답변
set backspace=indent,eol,start
당신의 .vimrc에 사용할 수 backspace
와 delete
에 \n
삽입 모드 (줄 바꿈).
set whichwrap+=<,>,h,l,[,]
X
(1 열에있을 때) 일반 모드에서 이전 LF를 삭제할 수 있습니다 .