2008-11-11 6 views
37

Ich habe einen Eintrag in meinem .vimrc, der es in den Darstellungsbereich blättert, wenn ich die Leertaste drücke. Es sieht wie folgt aus:Wie kann ich Shift + Leertaste Seite in Vim machen?

map <Space> <PageDown> 

ich eine andere Tastenbelegung, welche Seiten das Ansichtsfenster bis erstellen möchten, wenn die Umschalttaste gedrückt und die Leertaste. Ich habe folgende Eingaben versucht:

map <Shift><Space> <PageUp> 
map <S-Space> <PageUp> 

Keine funktionieren. Weiß jemand, wie man diese Funktionalität erreicht? diese

Antwort

31

Sie können nicht. Die Lösung von CMS wird für gVim funktionieren, aber nicht in vim, da Terminals nicht zwischen <Space> und < S-Space > unterscheiden können, da curses dieselben sieht. Es könnte in der Zukunft möglich sein, wenn vim die libtermkey-Unterstützung erhält und Ihr Terminal die richtigen <CSI> Sequenzen unterstützt (xterm tut dies, wenn es richtig konfiguriert ist; nichts anderes tut es noch).

+0

Vielleicht möchten Sie Ihre Antwort bearbeiten ... kann nicht zwischen was unterscheiden? Ich nehme an, Sie meinen, dass das Terminal nicht zwischen CTRL-SPACE und einfachem SPACE selbst unterscheiden kann. – m0j0

+0

Ups, ja, es war alles zwischen weniger als und größer als Zeichen essen. Fest. – Zathrus

+0

Können Sie etwas verknüpfen, das erklärt, was "richtig konfiguriert" bedeutet? – Unode

3

Verwendung:

map <Space> ^D " Pagedown when press Space 
map <S-Space> ^U " Page Up when press Shift Space 

Um die^D und^U Symbol zu erhalten richtig drücken Sie einfach Strg-V ctrl-D und Strg-V ctrl-U

+0

Funktioniert auf meiner Maschine! :-) –

+4

Wenn Sie dies tun, wird es angezeigt, wenn Sie Space und Shift Space verwenden ... Ich habe dies in Debian Linux und OS X versucht. Ich habe VIM 7.0 und VIM 7.2 bzw. – jerodsanto

+0

funktioniert nicht in meiner Arch-Box . Funktioniert wahrscheinlich nur auf OSX? – Kevin

2

Für OSX:

nnoremap <Space> <C-d> 
nnoremap <S-Space> <C-u> 
10

Wenn Sie vim innerhalb iTerm2 verwenden können Sie Shift-Raum Strg + U Karte durch die Hex-Senden-Taste 15. Hier ist ein Screenshot:

enter image description here

Um einen hex-Code für eine ctrl + Buchstabenkombination, zum Beispiel Strg + u nachschlagen, Sie folgendes tun:

  • In vim geben Sie den Insert-Modus
  • Hit Strg + V dann ctrl + u dann ctrl + c dann ga
  • verschiedene numerische Darstellungen am unteren

Sie diese Idee anwenden können auf andere Terminal-Emulatoren gedruckt werden das unterstützt Key Mapping.