2010-11-21 3 views
5

비 GUI 모드에서 Vim의 키보드 매핑을 다시 정의해야합니다.Vim에서 메타 기능 키 조합을 설정하는 방법은 무엇입니까?

다음 명령이 작동하지 않는 이유는 단순히 이해가 안 :

:set <M-F5>=^[[15~ 

"E518: Unknown option: <M-F5>=^[[15~" 

비 기능 키 혼자 F5 키 또는 메타의 매핑을 수행하는 반면 일 :

:set <F5>=^[[15~ 

"ok" 

:set <M-space>=^[[15~ 

"ok" 

방법 Vim에서 기능 키 F1-F12로 Alt/Meta를 재정의 하시겠습니까?

Thx

데이비드

업데이트 : 내의 .vimrc에서 질문 보정 나는 다음과 같은 키 조합 매핑을

autocmd Filetype python noremap <buffer> <silent> <M-F9> :w !pylint -E %<CR> 

을 가지고 있지만 그것은 GVIM에서만 작동 않습니다. Vim이 직접 Meta-F9 키 코드 대신 이스케이프 시퀀스 "^ [[20 ~]"를 받기 때문에 불행히도 Vim의 non-gui 버전에서는 작동하지 않습니다.

inoremap <M-i> <Tab> 

여기를보세요 :

: 작동하지 않는 경우

이 시도 여기

+0

정말'set' 키를 매핑 할 수 있습니다? 나는'map'을 사용합니다. ': '맵. – khachik

+0

혼란을 가져 주어서 죄송합니다. 맵핑이 아닌 키 코드 조합을 재설정하는 것이 었습니다. 내 사과. –

답변

1

는 빔 위키에서 예제
inoremap <ESC>i <Tab> 

이것은 해킹이며, 아마도 당신과 함께 살 필요가있는 몇 가지 사납한 것들을 산출 할 것임을 주목하십시오.

기능 키의 경우,이 같은 작업을해야합니다 :

nnoremap <ESC><F9> :ls<CR> 
+0

나는 이것이 내 질문에 대한 답이 아니라는 것에 대해 사과한다. –

+0

좋아, 내가 이해하는지 보자. - Alt-F1과 같은 키를 다시 정의하고 몇 가지 작업을 수행하겠습니까? 그렇다면': nnoremap : ls '와 같이 Alt-F3을 매핑하여 모든 버퍼를 나열 할 수 있습니다. 그게 네가 원했던 말 아니니? –

+0

나는 일반적으로 noremap 키 조합으로 매핑하여 일부 작업을 실행했습니다. Alt/Meta 키를 직접 매핑하기 때문에 GUI 모드 (gVim)에서 작동합니다. 그러나 Xterm (non-gui)의 vim은 Meta 키 누르기를 이스케이프 시퀀스로 인식합니다. 시퀀스을 이스케이프하고 THEN 매핑을해야합니다. –

관련 문제