Trotz der Tatsache , dass diese Frage ist ziemlich alt und als beantwortet markiert, würde Ich mag die Antwort zu erweitern , indem er sagte , dass Sie normalen Modus Befehle verwenden können, die von bereitgestellt wurden Sven Marnach mit nnoremapetwa so:
:nnoremap <C-Up> <Up>ddp<Up>
:nnoremap <C-Down> ddp
Auf diese Weise können Sie Zeilen mit Ctrl+ Upund Ctrl+ Downin Ihrer Datei verschieben. Dies überschreibt jedoch das @"Register, in dem Ihre zuletzt kopierte Zeichenfolge / Wort / Buchstabe / etc. Gespeichert wird. Durch Hinzufügen von "(reg) before ddund pBefehlen können wir dies beheben:
:nnoremap <C-Up> <Up>"add"ap<Up>
:nnoremap <C-Down> "add"ap
Hier fügen wir "avor dem Löschen Befehle hinzu und fügen sie ein, um unsere Zeile im @aRegister zu speichern , damit Ihr Standardkopierregister nicht überschrieben wird. Es kann jedoch sein, dass es den Inhalt des @aRegisters überschreibt (wer weiß, aber Sie können es für etwas Wichtiges in Ihrem Anwendungsfall verwenden, aber dieser Schritt ist etwas paranoid, Sie können es überspringen, wenn Sie möchten). Lassen Sie uns das auch beheben:
:nnoremap <silent><C-Up> :let save_a=@a<Cr><Up>"add"ap<Up>:let @a=save_a<Cr>
:nnoremap <silent><C-Down> :let save_a=@a<Cr>"add"ap:let @a=save_a<Cr>
( <silent>Wird benötigt, um zu verhindern, dass unsere Befehle in der Nachrichtenzeile unten wiedergegeben werden.)
Jetzt haben wir zwei Zuordnungen, mit denen wir Zeilen innerhalb der Datei mit Tastaturkürzeln verschieben können. Sie können Schaltflächen neu definieren, ich benutze Alt+ j/ k, was wäre <A-j>und <A-k>für diese Befehle. Allerdings unterstützen nicht alle Terminalemulatoren die Alt-Tastenzuordnungen AFAIK.
git config --global core.editor <whatever>oder für viele Dinge gleichzeitig (einschließlich Git) konfigurieren , indem Sie ihnexport EDITOR=<whatever>in Ihren.bashrc.