Незважаючи на те , що питання досить старий і позначено як відповіли, я хотів би розширити відповідь, кажучи , що ви можете використовувати звичайні команди режиму, які були надані Sven Marnach з nnoremapприблизно так:
:nnoremap <C-Up> <Up>ddp<Up>
:nnoremap <C-Down> ddp
Це дозволить вам переміщати рядки з Ctrl+ Upі Ctrl+ Downу вашому файлі. Однак це призведе до перезапису @"реєстру, в якому зберігається ваш останній скопійований рядок / слово / лист / тощо. Отже, додавши "(reg) before ddта pкоманди, ми можемо це виправити:
:nnoremap <C-Up> <Up>"add"ap<Up>
:nnoremap <C-Down> "add"ap
Тут ми додаємо "aкоманди видалення та вставки, щоб зберегти наш рядок у @aреєстрі, тому ваш реєстр копій за замовчуванням не буде перезаписаний. Однак він може перезаписати вміст @aреєстру (хто знає, але ви можете використовувати його для чогось важливого у вашому випадку використання, але цей крок трохи параноїчний, ви можете пропустити його, якщо хочете), давайте виправте це теж:
: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>необхідний для запобігання відлуння наших команд до рядка повідомлень внизу.)
Тепер у нас є два відображення, які дозволяють нам переміщати рядки у файлі за допомогою комбінацій клавіш. Ви можете перевизначити кнопки, я використовую Alt+ j/ k, що було б <A-j>і <A-k>для цих команд. Однак не всі емулятори терміналів підтримують відображення клавіш Alt AFAIK.
git config --global core.editor <whatever>, або для багатьох речей одночасно (включаючи git), включившиexport EDITOR=<whatever>у свій.bashrc.