vi / vim, 새 파일에 여러 줄을 쓰는 방법


답변:


44

넌 할 수있어

:100,200w filename

물론 100,200은 당신이 쓰고 싶은 줄의 범위입니다.


주소가 포함 또는 독점입니까?
Marcin

3
포함한. 또한 패턴 : : / ^ something /, / ^ else / w 파일 이름 또는 마크 : 'a,'bw 파일 이름에 'a'및 'b'로 표시된 행이 포함됩니다.
브루스 에디 거

안녕하세요 @ Bernhard, 현재 파일에서 줄을 자르려면 어떻게해야합니까?
Ravi Sevta

19

가장 일반적인 :

  1. 쓰려는 그룹의 첫 번째 줄로 커서를 이동하십시오. 명중 m 하고 a순차적. "a"라는 이름의 설정 표시입니다.

  2. 커서를 그룹의 마지막 줄로 옮기고 'm'과 'b'를 누르십시오.

  3. 순서대로 명령 모드 적중으로 전환 :'a,'b w filename한 다음 리턴을 누르십시오.

vi, nvi 및 vim에서 작동합니다.

또 다른 방법은보다 현대적인 vim에서 작동합니다.

  1. 쓰려는 행 그룹의 첫 번째 행에 커서를 놓습니다. V"시각 블록 시작"에 대해을 누르십시오 .

  2. 커서를 선 그룹의 맨 아래로 이동하십시오. Vim은 각 라인을 역상으로 강조 표시합니다.

  3. 써. :명령 행 모드로 들어가려면 누르십시오 . 그것은 scren의 맨 아래에 다음과 같은 프롬프트를 표시합니다. :'<,'> 즉, 시각적 블록의 시작부터 끝까지를 의미합니다. w파일 이름과 유형을 입력 하고 return 키를 누르십시오.

쓸 줄에 커서를 놓고 다음을 입력 :.w >> filename하고 return 키 를 누르면 파일 끝에 단일 줄을 추가 할 수 있습니다 .

"행 그룹 작성"명령은 "filename"대신 ">> filename"과 함께 작동합니다. ">>"는 vi 또는 vim이 파일을 작성하는 대신 파일에 추가하도록합니다.


8

Bernhard의 답변에 추가하려면 시각 모드를 사용하여 지역을 선택한 다음을 입력하십시오 :w filename.


8

작성하려는 행 번호를 알고 있으면 명령 행에서 수행 할 수 있습니다.

vim -c "100,200w new_file.txt" -c wq original_file.txt

1

하나의 작은 트릭은 상대 라인 번호를 사용하는 것입니다. 예 : : + 0, + 99w filename 다음 100 줄을 filename에 씁니다.


원본 파일을 덮어 쓰지 않습니까? OP가 다른 파일에 쓰려고합니다.
SabreWolfy 2016 년

1
@SabreWolfy 아니오; 행 번호 다음에 'filename'이 누락되었을 수 있습니다. 방금 그의 버전을 테스트했는데 효과가있었습니다.
felwithe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.