![특정 이벤트에서 Vim 커서가 변경됩니다.](https://linux55.com/image/13242/%ED%8A%B9%EC%A0%95%20%EC%9D%B4%EB%B2%A4%ED%8A%B8%EC%97%90%EC%84%9C%20Vim%20%EC%BB%A4%EC%84%9C%EA%B0%80%20%EB%B3%80%EA%B2%BD%EB%90%A9%EB%8B%88%EB%8B%A4..png)
나는 노력했다VSVim최근의. 제가 알아차린 좋은 점 중 하나는 c
또는 를 입력할 때 d
커서 모양이 절반 밑줄로 변경된다는 것입니다. 커서가 위치한 라인을 삭제한 후 dd
모양이 블록으로 돌아갑니다. Vim에 이 기능을 추가할 수 있나요?
답변1
제 경우에는 gvim
Windows를 사용하면서 일반 모드와 삽입 모드의 서로 다른 커서에 익숙해졌습니다.
터미널을 지정하지 않았습니다. .vimrc
Linux 콘솔과 xterm에서 작은 기능을 만들었습니다.
" Cursor shape ANSI-Codes
fu Cursor_tve()
if ($TERM == 'linux')
au! InsertEnter * set t_ve=^[[?3;0;8c^[[?25h
au! InsertLeave * set t_ve=^[[?192;7;50c^[[?25h
" yellow
"set t_ve=^[[?255;16;245c^[[?25h
endif
if ($TERM =~ 'xterm' )
set t_SI=^[[4\ q
set t_EI=^[[2\ q
" for xterm: (just blink)
"au! InsertEnter * set t_ve=^[[?25h^[[?12h
"au! InsertLeave * set t_ve=^[[?12l^[[?25h
endif
endfu
(저는 .vimrc 에서도 호출합니다 call Cursor_tve()
.)
t_SI
xterm에 대한 vim의 도움말이 언급되어 있으므로 시도해 보십시오 :h t_SI
. 이스케이프 시퀀스도 찾기가 조금 더 어렵습니다.
하나의 터미널 유형에만 이 if ($TERM ==
부분을 생략할 수 있습니다.
보시다시피 먼저 노란색 커서가 있습니다. 이는 실용적이지 않으며 쉘 커서와도 잘 작동하지 않습니다. 이제 일반 모드에서는 전체 커서가 있고 한 줄(xterm) 또는 1/4 블록(Linux)이 있습니다.