2016-06-16 5 views
0

MyFunction() (정상 모드에서)을 실행하려면 <Space>을 다시 매핑해야하고 MyFunction()의 처리 결과에 따라 정상적인 공간으로 작동 할 수 있어야합니다. 커서를 오른쪽으로 이동하십시오. 이 일을 성취하는 방법?자신의 코드로 공간을 무시하고 잠재적으로 공간을

예 : 커서가 "[]"에 있고, 공백을 누르면 "[x]"로 바뀌고 커서는 움직이지 않습니다.

예 : 커서가 "한 단어"에 있고, 스페이스를 누르면 커서가 오른쪽으로 이동합니다 (일반 모드).

답변

1
nnoremap <expr> ... 

입니다.

예. 당신의 MyFunc() 부울을 반환하는 경우, 당신은 그래서이 정상 공간으로 공간을 매핑 또는 입력 당신은 또한 당신의 MyFun() 문자열을 반환, 당신은 직접 키 매핑에 사용할 수 있습니다하도록 할 수 있습니다 MyFunc()

의 결과에 따라 :nnoremap <expr> <space> MyFunc()?"\<space>":"\<CR>"을 할 수 있습니다.

자세한 내용은 :h :map-expr을 참조하십시오.