VIM : Ubuntu에서 정확한 줄로 이동하는 방법


87

viUbuntu 12.10에서 사용 하고 있습니다. 일부 파일은 매우 길어서 파일 중간으로 이동하려면 페이지를 아래로 이동하거나 아래로 스크롤해야합니다.

정확한 라인 번호로 이동하는 VIM 바로 가기가 있습니까?


@vim 전문가. 이것이 실제로 Ubuntu- / bash- / Linux 특정입니까 (OP 태그에 따라)? 나는 vim을 많이 사용하지 않지만 내 용도로 Ubuntu / CentOS / Suse / Windows에서 약간의 차이를 느끼지 못했습니다.
Alexander Malakhov

답변:


145
:150

vi에서 150 번 줄로 이동합니다.

:1500

vi에서 1500 번 라인으로 이동합니다.

댓글에 따라 시도해 볼 수 있습니다.

150G

150 번 줄에 도달합니다. 키 입력 횟수가 적습니다. :150Enter 어떤 줄에 있는지 확실하지 않은 경우

 :set nu!

주의 :

항상 라인을보고 싶다면 vim 프로필 편집을 고려하십시오. 가장 자주

vi ~/.vimrc

추가

:set nu! 

작성하고 종료

:wq
#or you could use :x

이것은 vi 외부에서 수행 할 수 있습니다. 예를 들어 텍스트 파일에서 5000 행을 삭제하려면 스크립팅 언어를 사용할 수 있습니다. 예를 들어 sed를 사용하면 다음과 같습니다.

sed -i '5000d;' inputFile.txt

10 ~ 20 행을 삭제하려면

sed -i '10,20d;' inputFile.txt

-i는 파일을 제자리에서 편집합니다. -i가 없으면 stdout으로 이동합니다. 시도 해봐. stdout을 파일로 리디렉션 할 수 있습니다.

sed '5001,$d;' inputFile.txt >> appenedFile.txt

이것은 당신을 위해 여기에서 많은 일을 할 수 있습니다. 5001 행에서 $까지 삭제합니다. $는 파일의 끝입니다. >> 파일에 추가됩니다. 여기서>는 새 파일을 만듭니다.

파일에 몇 줄이 있는지 궁금하다면 입력 할 수 있습니다. wc -l inputFile.txt

이 중 일부는 매우 사소 해 보일 수 있지만 50,000 줄의 파일을 편집하려는 경우 열고 탐색하는 데 약간의 시간이 걸릴 수 있습니다. 마지막 줄을 삭제하려는 경우 sed를 사용하고 짧은 시간 내에 수행 할 수 있습니다.

sed는 파일 내부에서도 검색하고 바꿀 수 있습니다. 그러나 아마도 awk, perl 또는 python이 실행 가능한 솔루션 일 수도 있습니다.

그러나 전반적으로 vi에 대한 좋은 튜토리얼을 찾고 싶을 것입니다. 수천이 존재합니다. Google에 문의하겠습니다. 아마도 VIM 치트 히트를 찾으실 수 있습니다.


문제 없습니다. 대답을 조금 확장했지만. 행운을 빕니다
matchew 2011-06-17

2
또한 vim에서 n50 %를 입력하고 파일 중간으로 이동할 수 있습니다.
Eric Fortis

1
일반 모드에서 150G와 동일하지 않습니다 :150. 빠르지는 않지만 기억하기가 더 쉬울 수 있습니다.
romainl

@romainl 150gg도 마찬가지입니다. 이는 모두 참 빨리보다 150 <CR>
랜디 모리스

@Randy Morris-예, 더 빠릅니다 <CR>. 고려하는 것을 잊었습니다 .
romainl 2011-06-17

14

기타 Vim 팁 : 명령 모드에서

  • H 화면 상단으로 이동
  • M 화면 중앙으로 이동
  • L 화면 하단으로 이동
  • gg 첫 번째 줄로 이동
  • G 마지막 줄로 이동

7

몇 분 정도 걸릴 및 읽기 시작 문서를. 특히 구성 파일 편집의 효율성에 대해 장기적으로 보상합니다.


링크는 이제 죽었습니다
Peter David Carter

6

열린 터미널에서 bash 쉘에서 다음을 실행하여 파일을 편집하십시오.

$ vi +N yourfile

N줄 번호는 어디에 있습니까 ?

보기 ( more또는 less;) :

$ less +N yourfile
$ more +N yourfile

부호 는 시작할 때 실행할 명령을+ 의미 합니다 . 따라서 명령 만 숫자, 다음 vi, less그리고 more, 뜻으로이 점프 줄 번호 .

그러나 /regex특정 문자열 또는 정규식의 첫 번째 발생을 찾는 데 사용할 수도 있습니다 .

$ less +/Error logfile
$ less -i +/error logfile      # -i Causes less's searches to ignore case
$ vi +/open.*myfile myprog...

3

또 다른 조언 : vim을 처음 사용하는 분이므로 실행하는 vimtutor것이 매우 도움이 될 수 있습니다.


6
특정 질문을 다루지 않기 때문에 이것은 단지 주석이어야하지 않습니까?
Brian Rasmussen 2012
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.