[vim] vi에서 두 줄을 어떻게 연결합니까?

아래와 같이 텍스트 파일에 두 줄이 있습니다.

S<Switch_ID>_F<File type>
_ID<ID number>_T<date+time>_O<Original File name>.DAT

vi와 같이 두 줄을 아래에 추가하고 싶습니다.

S<Switch_ID>_F<File type>_ID<ID number>_T<date+time>_O<Original File name>.DAT

두 번째 줄이 삭제되고 두 번째 줄의 내용이 첫 번째 줄에 추가되었습니다.

vi에서 명령 모드를 사용하여 어떻게 할 수 있습니까?



답변

Shift+ J는 현재 행에서 행 변경 문자를 제거하므로 행의 어느 위치에서나 “J”를 누르면 현재 행과 다음 행을 원하는 방식으로 결합 할 수 있습니다.


답변

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있습니다.


답변

이것은해야합니다 :

J


답변

vi에서는 J( Shift+ J) 또는 :join대부분 원하는대로해야합니다. 공백을 조정합니다.특히, 대부분의 경우 두 개의 결합 된 줄 사이에 공백이 생겨 두 번째 줄이 들여 쓰기되면 들여 쓰기가 결합 전에 제거됩니다.

Vim에서는 gJ( G, Shift+ J) 또는 을 사용할 수도 있습니다 :join!. 공백을 조정하지 않고 선을 결합합니다.

Vim에서 자세한 내용 :help J을 참조하십시오.


답변

\n“를 “”로 바꾸십시오 .

문서의 모든 줄에 대해 vi / Vim에서 :

%s/>\n_/>_/g

모든 교체를 확인하려면 다음을 수행하십시오.

%s/>\n_/>_/gc


답변

선택한 라인에 참여하려면 (시각 모드에 있음) gJ아무 공백없이 라인을 연결하려면 누르 십시오.

이에 대한 자세한 내용 은 vi / Vim Stack Exchange 사이트 에 자세히 설명되어 있습니다 .


답변

첫 번째 줄에서 Shift+ 4( “$”)를 누른 다음 Shift+ j( “J”)를 누릅니다 .

도움이 필요하면 vi로 이동 한 다음을 누르십시오 F1.