[vim] VIM 초고속 탐색

다른 편집기를 사용하면서 내가 놓친 유일한 것은 마우스로 내 자리를 찾는 것입니다. 파일의 특정 영역을 눈으로 볼 수 있고 마우스를 움직이고 거기에있는 클릭으로 볼 수 있습니다. VIM을 사용하면 jjjjkkkkkkjjjjhhhh … 거의 다 왔어 hhhhh oh crap 나는 3 개의 문자를 놓쳤다, lll.

나는 마크하는 법을 배우고 있으며 훌륭한 북마크 플러그인을 찾았습니다. 마커를 만들고 파괴하고 <f3>불행히도 파일이 닫히면 마크가 잊혀집니다.

모두 어떻게 파일을 슈퍼 탐색합니까? 5j7k4j5h 등도 할 수 있다는 것을 알고 있지만, 내 눈을 읽을 수 있고 내가 정말로 필요한 곳에 커서를 놓을 수있는 플러그인이 있어야합니다 ..

또한 / %를 사용하여 특정 용어를 검색하는 방법도 배웠습니다. 도움이되지만 일치하는 모든 문자가 문서 전체에서 강조 표시됩니다.



답변

시험 $ vimtutor . 시작하는 데 필요한 모든 것을 알려줍니다.

hjkl 적어도 제 경우에는 빙산의 일각이며 거의 사용되지 않습니다.

wWEe그리고 BbgegE모두 단어 단위로 이동할 수 있습니다.

  • w그리고 e앞으로 이동 WE계정에 공백 및 구두점을

    " here the * marks the default location of the cursor
    " and each letter shows where you jump when you hit the key.
    
    Latin: Lorem ipsum dolor sit amet.
                       *   e   e    e
                       *   E   E     E
    *    w w     w     w     w   w   w
    *      W     W     W     W   W   W
    
  • b그리고 ge뒤로 이동, BgE계정으로 공백 및 구두점을

    Latin: Lorem ipsum dolor sit amet.
    b    b b     b     *
    B      B     B     *
         ge    ge    ge*
        ge
         gE    gE    gE*
    

fFtT특정 문자의 손이 닿지에 사용되는 현재의 라인;,에 대해 같은 방향으로 그 동작을 반복하는 데 사용되는 ;반대의 방향에서 ,:

  • fm다음 m앞으로 점프 , F뒤로 이동

    Latin: Lorem ipsum dolor sit amet.
    *          fm    ;            ;
               ;     Fm          *
    
  • tm다음 m앞으로 이동 , T뒤로 이동

    Latin: Lorem ipsum dolor sit amet.
    *         tm    ;            ;
              ;     Tm           *
    

/? 현재 커서 위치에서 패턴의 첫 번째 발생으로 이동하는 데 사용됩니다.

  • /pattern 앞으로 나아 간다

    Latin: Lorem ipsum dolor sit amet.
    *            /ips
    
  • ?pattern 뒤로 이동

    Latin: Lorem ipsum dolor sit amet.
    ?Lat             *
    

0$ 줄의 첫 번째와 마지막 문자로 이동하는 데 사용됩니다.

    (whitespace)Latin: Lorem ipsum dolor sit amet.(whitespace)
    0                  *                                     $

^g_ 줄의 첫 번째 및 마지막 인쇄 가능한 문자로 이동하는 데 사용됩니다.

    (whitespace)Latin: Lorem ipsum dolor sit amet.(whitespace)
                ^      *                         g_

단일 및 결합 ()[]{} 은 구문별로 또는 단락별로 또는 코드 블록별로 코드 블록을 이동하는 데 사용됩니다.

<C-b><C-f> 전후 화면을 스크롤하는 데 사용된다.

<C-u><C-d> 전후 반 화면 스크롤하는 데 사용된다.

H, ML 커서를 뷰포트의 상단, 중간, 하단으로 각각 이동합니다.

zt, zz 하고 zb커서 아래의 선을 각각 뷰포트의 상단, 중간, 하단으로 이동합니다.

등등.

:help motion.txt 당신의 마음을 날려 버릴 것입니다.


답변

vim의 모션 명령 외에도 vim 플러그인이 있습니다. EasyMotion 이 탐색에 매우 유용하다는 것을 알았습니다. vimperator 또는 pentadactyl에 익숙하다면 EasyMotion은 힌트 모드를 vim으로 다시 가져옵니다. 여기 에 애니메이션 데모가 있고 여기 에 비디오 튜토리얼이 있습니다. 도움이 되었기를 바랍니다.


답변

vim에서 이동하는 방법은 무수히 많습니다. 이것은 정말 강력한 영역 중 하나입니다. 나는 그 방향으로 다음 빈 줄로 위아래로 움직이는 {and }많이 사용 합니다.%모든 종류의 일치하는 대괄호로 앞뒤로 이동할 때 유용합니다. WB 는 “단어”앞으로 다시 이동합니다.

Vim 매뉴얼 의 이동 섹션을 검토하는 것이 좋습니다 .


답변

vim은 마우스를 지원합니다! 이것을 시도해보십시오 (.vimrc에서) :

set mouse=a

사이드 노트 : 화면 사용자로서 저는

set ttymouse=xterm2

이것이 작동하도록.


답변

개인적으로 사용하는 것을 선호합니다 :

"/<chars><enter>" to quickly move to somewhere   ( extremely fast! trust me! )
":<number>" to go to some line,
"ctrl + f/b" to forward/back
"g;" to move to the last editing place.
"w/b" to move by word
"jklh" to move your cursor to the exact position


답변

옵션 relativenumber( : help relativenumber-Vim 7.3에 포함됨 )을 사용하면 a [count]k또는 [count]j움직임으로 눈 밑의 라인에 도달 할 수 있으며 , ftweb@romainl에서 설명한 것과 같은 움직임으로 현재 라인에서 이동할 수 있습니다 .


답변

외에도에서 {, }, (, ), <number>cb, <number>cB, <number>cW그리고 %, 나는 그런 탐색 기술을 사용 :

  • ciw, diw( ciW, diW). 등 커서 아래에있는 단어를 빠르게 편집 / 삭제 (공백이 아닌 문자 포함)
  • ci(, ci"( ca(, ca") 등을 사용하여 괄호, 따옴표 (괄호, 따옴표 포함)를 빠르게 편집 할 수 있습니다. 동일하게 적용됩니다d .
  • 대문자로 표시하여 전역 (파일 간) 및 영구적으로 (버퍼가 닫힐 때) 설정합니다. 예를 들어, 명령 으로 사용할 수있는 mA글로벌 마크 A를 생성합니다 'A(또는`A 열을 존중하기 위해).
  • gf 커서 아래의 파일로 빠르게 이동
  • f, t( F, T)는 문자 오른쪽 (왼쪽) 앞의 문자로 이동합니다 ( ;반복 할 때 사용 ). 이는 dc명령 ( .반복 하는 데 사용) 에 특히 유용합니다 .
  • ^]태그 ^T로 이동하고 뒤로 이동합니다.

그리고 다른 많은 이동 방법 🙂

자세한 내용은 http://www.thegeekstuff.com/2009/03/8-essential-vim-editor-navigation-fundamentals/ 를 확인하십시오 .

PS Rails 사용자에게는 매우 유용한 rails-vim 플러그인이 있습니다.