Hier ist eine vereinfachte Version für MacVim unter Verwendung der Wikia-Artikelbeispiele (siehe Link aus dem Kommentar der Waffe ).
" Move selection up/down (add =gv to reindent after move)
:vmap <D-S-Up> :m-2<CR>gv
:vmap <D-S-Down> :m'>+<CR>gv
Ich verwende nur die Blockauswahlvariante, da nur Umschalt-V erforderlich ist, um die aktuelle Zeile auszuwählen, und optional Cursor nach oben / unten, um weitere Zeilen auszuwählen.
Gemäß den obigen Verknüpfungen wird durch Drücken von Cmd-Shift-Up / Down die Blockauswahl nach oben / unten verschoben. "D" ist die Befehlstaste in MacVim, für Windows versuchen Sie "C" (Steuerelement) oder "A" (Alt) (z. B. <CAf> wäre Steuerelement Alt f).
Der Wikia-Artikel fügt diesen "= gv" hinzu, wodurch die Einrückung des Blocks nach dem Verschieben basierend auf dem umgebenden Text angepasst wird. Das ist verwirrend, deshalb habe ich es entfernt und stattdessen Verknüpfungen hinzugefügt, um die Auswahl schnell einzurücken.
" Indent selection left/right (Cmd Shift Left/Right is used for Tab switching)
:vmap <D-A-Left> <gv
:vmap <D-A-Right> >gv
Beachten Sie, dass dies auch mit << und >> möglich ist, die Auswahl jedoch verloren geht. Mit diesen Verknüpfungen können Sie den Block mehrmals einrücken und den Block trotzdem verschieben, da die Auswahl beibehalten wird.
Mein MacVim ist so konfiguriert, dass Tabs mit Cmd-Shift-Left / Right gewechselt werden, also habe ich Cmd-Alt-Left / Right verwendet.
Hier ist die Tab-Umschaltung für MacVim (geben Sie .gvimrc mit dem Rest oben ein):
:macm Window.Select\ Previous\ Tab key=<D-S-Left>
:macm Window.Select\ Next\ Tab key=<D-S-Right>