2011-10-31 10 views
5

sto cercando di mappare f11 ad un comando all'interno di vim, con una linea in Vimrc quali:Per l'editor Vim, come si esegue il mapping di un tasto funzione in .vimrc su Mac OS X?

map <F11> :exe '!ctags -R --python-kinds=-i -f ./tags ' . shellescape(system('python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"'))<CR> 

Ma se si ha colpito F11 si scopre solo il volume. È possibile rimappare le chiavi che hanno le funzioni a livello di sistema operativo in OSX?

Non voglio rimappare alcuna chiave più utilizzata qui perché la rigenerazione dei tag richiede un po '.

risposta

5

Hai due opzioni, che io sappia:

1) Attivare l'uso regolare dei tasti funzione, vale a dire. f1 - f12 non esegue più il comando specifico OSX come diminuire il volume. Invece si dovrà tenere premuto il tasto fn premendo il tasto f. Ho configurato questo sul mio computer e ho mappato correttamente i tasti funzione in Vim/MacVim. Per far questo vai System preferences --> Keyboard e controllare del Use all F1, F2,...

2) Usare fn + F11 per eseguire il comando.

+0

L'opzione 2 non funziona (almeno in OSX Lion): fn + F11 esegue MacOS "show desktop", non esegue il comando mappato. – user1022489

+1

Ma è possibile utilizzare le preferenze per disabilitare F11 = mostra desktop e quindi fn + F11 funziona. – user1022489

+0

Questa è la risposta corretta. – neevek