Terlepas dari kenyataan bahwa pertanyaan itu cukup lama dan ditandai sebagai terjawab, saya ingin memperluas jawaban dengan mengatakan bahwa Anda dapat menggunakan perintah mode normal, yang disediakan oleh Sven Marnach dengan nnoremapseperti ini:
:nnoremap <C-Up> <Up>ddp<Up>
:nnoremap <C-Down> ddp
Ini akan memungkinkan Anda untuk memindahkan baris dengan Ctrl+ Updan Ctrl+ Downdalam file Anda. Namun ini akan menimpa @"register, yang menyimpan string / kata / huruf / dll yang terakhir disalin. Jadi dengan menambahkan "(reg) before dddan pperintah kita bisa memperbaiki ini:
:nnoremap <C-Up> <Up>"add"ap<Up>
:nnoremap <C-Down> "add"ap
Di sini kami menambahkan "asebelum menghapus dan menempelkan perintah untuk menyimpan baris kami di @aregister, sehingga register salinan default Anda tidak akan ditimpa. Namun ini mungkin menimpa konten @aregister (siapa tahu, tapi Anda dapat menggunakannya untuk sesuatu yang penting dalam kasus penggunaan Anda, tetapi langkah ini agak paranoid, Anda dapat melewatkannya jika Anda mau), mari perbaiki itu juga:
: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>diperlukan untuk mencegah menggemakan perintah kami ke baris pesan di bagian bawah.)
Sekarang kami memiliki dua pemetaan yang memungkinkan kami untuk memindahkan baris di dalam file dengan pintasan keyboard. Anda dapat mendefinisikan ulang tombol, saya menggunakan Alt+ j/ k, yang akan menjadi <A-j>dan <A-k>untuk perintah tersebut. Namun tidak semua emulator terminal mendukung pemetaan tombol Alt AFAIK.
git config --global core.editor <whatever>, atau untuk banyak hal sekaligus (termasuk git) dengan memasukkanexport EDITOR=<whatever>dalam Anda.bashrc.