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
같은 작동 +
숫자 후, 대부분의 시간에 도달하기 쉽습니다