Hier ist eine vereinfachte Version für MacVim, die die Beispiele aus dem Wikia-Artikel verwendet (siehe Link von Waffe Kommentar).
" 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 Variante der Blockauswahl, denn es genügt die Umschalttaste-V, um die aktuelle Zeile auszuwählen, und optional der Cursor nach oben/unten, um einige weitere Zeilen auszuwählen.
Entsprechend den obigen Tastenkombinationen 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" (Control) oder "A" (Alt) (z.B. <C-A-f> wäre Control Alt f).
Der Wikia-Artikel fügt "=gv" zu diesen hinzu, was zur Folge hat, dass die Einrückung des Blocks nach dem Verschieben auf der Grundlage des umgebenden Textes angepasst wird. Das ist verwirrend, also habe ich es entfernt und stattdessen Tastenkombinationen zum schnellen Einrücken der Auswahl hinzugefügt.
" Indent selection left/right (Cmd Shift Left/Right is used for Tab switching)
:vmap <D-A-Left> <gv
:vmap <D-A-Right> >gv
Das Gleiche kann mit << und >> gemacht werden, aber die Auswahl würde verloren gehen. Mit den obigen Tastenkombinationen kann der Block mehrfach eingerückt und trotzdem verschoben werden, da die Auswahl erhalten bleibt.
Mein MacVim ist so konfiguriert, dass er die Tabs mit Cmd-Shift-Left/Right umschaltet, also habe ich Cmd-Alt-Left/Right verwendet.
Hier ist die Tabulator-Umschaltung für MacVim (in .gvimrc mit dem Rest oben):
:macm Window.Select\ Previous\ Tab key=<D-S-Left>
:macm Window.Select\ Next\ Tab key=<D-S-Right>