vim + OS X에서 줄의 시작 또는 끝으로 점프하는 방법


17

터미널에서 shift + home 및 shift + end를 눌러이 작업을 수행 할 수 있지만 vim에서는 작동하지 않는 것 같습니다. 홈 및 종료 키는 터미널 창만 스크롤합니다. 편집 모드로 점프하고 싶습니다.


4
: 명령 모드에서는 빔 치트 시트 (0 $)에서 찾을 수 fprintf.net/vimCheatSheet.html . 그래도 편집 모드에 대해 모른다.
Gnoupi

답변:


13

이 답변은 터미널 창 에서 vim 을 사용한다고 가정합니다 .

HomeEnd 의 기본 바인딩 은 일반적인 TERM 설정 (예 : xterm 변형)에 따라 프로그램이 예상하는 것과 약간 다릅니다. 기본 바인딩을 고수하고 터미널 에서 Shifted 변형을 사용해야하는 경우 다음과 같이 입력하십시오 .vimrc.

:" map Mac OS X Terminal.app default Home and End
:map <ESC>[H <Home>
:map <ESC>[F <End>
:imap <ESC>[H <C-O><Home>
:imap <ESC>[F <C-O><End>
:cmap <ESC>[H <Home>
:cmap <ESC>[F <End>

그렇지 않으면 HomeEnd 를 사용할 때 터미널이 보내는 코드를 조정 해 볼 수 있습니다 (원하는 경우에도 시프트되지 않음). 검색을 수행하는 방법을 설명하는 일부 장소가 검색 될 수 있습니다 ( 여기서는 하나임 ). 기본적인 아이디어는 터미널 보내기 갖고 싶어한다는 것입니다 ESC [1 ~ 대신 ESC [대한 H ESC ~ 대신 [4 ESC [대한 F 이 홈을 유지하려는 경우 (또는 Shift-홈 / 시프트 엔드 / 스크롤 백 액세스 종료). 프로세스에 대해 자세히 설명하지만 10.4 만 있으며 터미널이 10.5 이상에서 많이 변경되었음을 알고 있습니다.


8

iTerm 및 Vim을 사용하면 삽입 모드에서 fn + 오른쪽 및 왼쪽 화살표 를 사용하여 줄의 시작 또는 끝으로 이동할 수 있습니다. Terminal.app에서는 shift + arrows 를 사용 합니다.



1

에 추가로 크리스의 대답 , 당신은 또한 (단어 탐색을 달성 할 수있다 Option+arrow다만 그 4 개 행을 추가하여, 키) :

:map <ESC>f el
:imap <ESC>b <C-o>b
:imap <ESC>f <C-o>el
:cmap <ESC>f el

공지 사항은이 o때문에이 종료되지 않습니다 낮은 경우가 insert작동을위한 모드입니다. O동일한 효과를 위해 원래 답변에서 대문자 를 변경할 수도 있습니다 .


0

MacVim에서는 '왼쪽 화살표'명령과 '오른쪽 화살표'명령을 사용하여 편집 모드에서 줄의 시작과 끝으로 이동할 수 있습니다.


JtR과 같은 소리는 MacVim을 사용하는 대신 Terminal.app에서 vim을 사용하고 있습니다 (저는 개인적으로도 권장하고 싶습니다).
Matrix Mole

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.