vi / vim에서 상대적인 줄 수만큼 커서를 이동하는 방법이 있습니까? 제거하려는 코드 블록 아래에 커서가 10 줄 있다고 가정합니다. 상대적인 순서로 표시된 줄 번호가있는 경우 "10 줄 위로 점프 명령"을 사용하는 것이 좋습니다.
아니면 절대 줄 번호를 표시하고 xgg로 이동하는 것이 좋습니다. 여기서 x는 줄 번호입니다.
답변:
물론 방법이 있습니다. j및 k아래로 이동 한 라인까지, 그래서 10j하고 10k아래로 이동하고 10 줄까지. 그 앞에 숫자를 넣어 어떤 동작이든 반복 할 수 있습니다.
set relativenumber이것이 당신이 많이하는 일이라면 절대 숫자 대신 현재 줄을 기준으로 줄 번호를 인쇄하여 계산을 절약하는 데 도움이 될 수도 있습니다 .
set relativenumber및 .vimrc에 다음을 추가하여 상대 및 절대 줄 번호를 동시에 볼 수 있습니다 set number. 이렇게하면 커서가있는 줄의 절대 줄 번호와 함께 상대 줄 번호가 제공됩니다.
enter(절대 줄 번호의 경우 콜론으로 시작). 당신이 사용하는 경우 j및 k및 일반 키보드 레이아웃, 너무 도움이되지 않을 수도 있습니다,하지만 화살 사용 콜맥 사용자로, enter콜맥보다 도달하기 쉽다 j(쿼티 y키)
10 줄을 위아래로 이동하면 작업 및 다른 옵션에 적합하지 않을 수 있습니다. 다른 움직임을 고려하십시오.
Ctrlf, Ctrlb페이지 앞뒤.
}, {한 단락 씩 앞뒤로 이동합니다.
vimrc 파일에 다음 줄을 추가하여 10j키 에 바인딩 하는 규칙을 작성할 수 있습니다 J.
map <S-j> 10j
그러나 유용한 기존 J명령을 덮어 쓰게됩니다 (두 줄 결합). 10j/에 대해 잘 배치 된 미사용 키 조합을 찾는 10k것이 어려울 수 있으므로 제가 언급 한 기존 동작을 사용하는 것이 좋습니다.
: 당신은 또한 당신이 수행하여 당신이 볼 수있는 단어 뒤로 이동 수 있다는 것을 알고 할 수 있습니다
?someword당신이 수행하여 볼 수있는 단어 앞으로와 /someword. 이것은 10 줄을 위 / 아래로 이동 한 다음 커서를 정확한 위치로 재배치하는 것보다 빠를 것입니다. 문제의 줄에 대한 간단한 검색 문자열이 생각 나지 않으면 말한대로 항상 줄 번호로 이동할 수 있습니다 ( xgg).
나는 vim을 엉망으로 만들었고 -당신을 위로 +이동시키고 아래로 이동시키는 것을 발견했습니다 .
10-
또는 k 커서 이동에 k가장 익숙하기 때문에 사용할 수 있습니다 .hjl
enter같은 작동 +숫자 후, 대부분의 시간에 도달하기 쉽습니다