2012-05-30 2 views
7

특수한 방법으로 코드를 주석 처리하는 플러그인을 작성 중이며 시각 모드 나 표준 모드에서 호출 할 때 약간 다르게 작동해야합니다.Vim : 현재 모드에있는 방법

함수가 호출되었을 때 사용자가 있었던 모드를 결정하는 함수 또는 방법이 있습니까?

답변

6

([EXPR]) 현재 모드를 나타내는 문자열을 반환

모드가있다.

http://vimdoc.sourceforge.net/htmldoc/eval.html#mode%28%29

있지만, 해당 매핑의 RHS에서 명령 모드를 시작하려고하고 있기 때문에 그 작동하지 않을 수 있습니다.

보다 강력한 방법은

nmap <Leader>c :call MyFunc('n')<CR> 
vmap <Leader>c :call MyFunc('v')<CR> 

처럼 약간 다른 매핑을 설정하고 사용자가에서 무엇 모드 알고 인수 값을 사용하는 것입니다. 당신은 사용해야

+4

'nnoremap' /'vnoremap '여기서, 그들은 더 안정적이다 (즉, 최종 사용자가 실수로 매핑을 깨뜨릴 수있는 방법이 훨씬 적다). 그래서 플러그인을위한 유일한 옵션이다. – ZyX

관련 문제