답변:
Shift+ J는 현재 행에서 행 변경 문자를 제거하므로 행의 어느 위치에서나 "J"를 누르면 현재 행과 다음 행을 원하는 방식으로 결합 할 수 있습니다.
GJ
에서 vim
마지막 줄로 이동 한 후 다음 줄에 연결하려고 시도합니다. 결합 명령이 의미가없는 유일한 위치입니다. 그래, 나는이 재미 :-) 발견
Vi 또는 Vim?
어쨌든 다음 명령은 'nocompatible'모드의 Vim에서 작동합니다. 즉, 거의 순수한 vi라고 생각합니다.
:join!
정상적인 명령으로 사용하려면
gJ
'gJ'를 사용하면 공백을 추가하거나 제거하지 않고 그대로 라인을 결합합니다.
S<Switch_ID>_F<File type>
_ID<ID number>_T<date+time>_O<Original File name>.DAT
결과:
S<Switch_ID>_F<File type>_ID<ID number>_T<date+time>_O<Original File name>.DAT
'J'명령을 사용하면 다음이 가능합니다.
S<Switch_ID>_F<File type> _ID<ID number>_T<date+time>_O<Original File name>.DAT
type>
와 사이에 공백이 _ID
있습니다.
g/pattern/join
VIM 에서는 작동하지만 g/pattern/J
그렇지는 않지만 지적하십시오 . 미래의 일부 사람들을 도울 수 있습니다.
vi에서는 J
( Shift+ J) 또는 :join
대부분 원하는대로해야합니다. 공백을 조정합니다.특히, 대부분의 경우 두 개의 결합 된 줄 사이에 공백이 생겨 두 번째 줄이 들여 쓰기되면 들여 쓰기가 결합 전에 제거됩니다.
Vim에서는 gJ
( G, Shift+ J) 또는 을 사용할 수도 있습니다 :join!
. 공백을 조정하지 않고 선을 결합합니다.
Vim에서 자세한 내용 :help J
을 참조하십시오.
gJ
와는 J
입니다 모두 장하여 합류 지점에 커서 만 :join!
하고 :join
말아.
선택한 라인에 참여하려면 (시각 모드에 있음) gJ
아무 공백없이 라인을 연결하려면 누르 십시오.
이에 대한 자세한 내용 은 vi / Vim Stack Exchange 사이트 에 자세히 설명되어 있습니다 .
첫 번째 줄에서 Shift+ 4( "$")를 누른 다음 Shift+ j( "J")를 누릅니다 .
도움이 필요하면 vi로 이동 한 다음을 누르십시오 F1.
해당 줄에 커서를 두지 않고 두 줄을 연결하는 다른 방법은 다음과 같습니다.
:6,6s#\n##
6은 다른 회선이 결합 될 회선 번호입니다. 줄 번호를 표시하려면:set nu
.
다음 줄을 연결해야하는 커서에있는 경우 :
:s#\n##
두 줄 모두 한 줄에 하나만 존재 하기 때문에 g
like 가 필요하지 않습니다 .:s#\n##g
\n
Shift+V
마지막 줄을 제외한 모든 줄을 선택하고, :'<,'>s/\n/, /
이 예에서는 줄 끝에 쉼표와 공백을 넣는 동안 줄을 연결하는 것이 더 쉽습니다 . 무언가를 선택하고 :
일반 모드로 입력 '<,'>
하면 명령 행에 자동으로 나타납니다.