2014-12-29 2 views
2

vim을 사용하여 텍스트 파일을 편집 중이며 "둘러싸 기 설정"을 사용하여 줄 바꿈을 사용할 수 있습니다. 10 줄로 감싼 매우 긴 줄이 하나 있다고 가정합니다. 말하자면 나는 다섯 번째 단어 (포장되었을 때 첫 번째 줄에있다)에 있고 나는 (포장되었을 때) 일곱 번째 줄에 단어를 얻고 싶다. 내가 그 라인에 도달 할 수있는 가장 빠른 방법은 뭐야? 나는가는 것에 너무 열중하지 않다. w<a-number>l - 아마이 방법을 사용하는 것이 더 쉽다.매우 긴 라인을위한 vim 내비게이션

답변

7
  • gj
  • gk 위의 라인으로 이동하려면 아래 줄로 이동 (같은 라인을하지만, 포장)합니다. 당신이 단어를 모르거나 그것을 볼 때

나는 나의의 .vimrc

map j gj 
map k gk 
+0

은 몰랐어, 감사 깨달음을 얻으려면 –

1

에지도를 가지고있다. 예를 들어 안녕하세요 인 경우 /hello으로 검색 할 수 있습니다. 그곳으로 뛰어 들어야합니다. 전에여보세요가 있다면, n을 사용하면 다음에 도달 할 수 있습니다.

4

특히 :set wrap을 다루는 몇 가지 동작이 있습니다. 대부분 그들은 g 접두사가 붙은 "정상적인"동작의 변형입니다.

그래서 등 화면에서 라인뿐만 아니라 g0, g^, g$를 이동 자세한 내용은 :help로를 검색 할 수 gjgk있다.

1

Paco가 자신의 answer에서 말한 것처럼 gjgk으로 화면을 탐색 할 수 있습니다. 즉 너무 많은 번거 로움이 경우는 아마로, 당신은 정상 화살표 키를 대신 논리적 라인의 스크린 라인의 관점에서 탐색이 당신의 ~/.vimrc에이 라인을 추가 할 수 있습니다

이 이
noremap <silent> <Up> gk 
noremap <silent> <Down> gj 
noremap <silent> <Home> g<Home> 
noremap <silent> <End> g<End> 
inoremap <silent> <Up> <C-o>gk 
inoremap <silent> <Down> <C-o>gj 
inoremap <silent> <Home> <C-o>g<Home> 
inoremap <silent> <End> <C-o>g<End> 
+1

수정자를 원하지 않는다. –

+0

@ChristianBrabandt이 코드는 완벽하게 작동하므로, 왜 ''수정자를 포함하면 안 되는가? – cmaster

+0

을 사용할 때 커서가 현재있는 버퍼로만 맵이 제한되기 때문에 전역 맵핑이 필요한 것처럼 보이지만 버퍼 로컬 매핑입니다. –