Malgré le fait que cette question soit assez ancienne et marquée comme une réponse, j'aimerais étendre la réponse en disant que vous pouvez utiliser des commandes en mode normal, qui ont été fournies par Sven Marnach avec nnoremap
comme suit:
:nnoremap <C-Up> <Up>ddp<Up>
:nnoremap <C-Down> ddp
Cela vous permettra de déplacer des lignes avec Ctrl + Upet Ctrl+ Downdans votre fichier. Cependant, cela écrasera le @"
registre, qui stocke votre dernière chaîne / mot / lettre / etc copié. Donc, en ajoutant "(reg) avant dd
et les p
commandes, nous pouvons résoudre ce problème:
:nnoremap <C-Up> <Up>"add"ap<Up>
:nnoremap <C-Down> "add"ap
Ici, nous ajoutons "a
avant de supprimer et coller des commandes pour stocker notre ligne dans le @a
registre, de sorte que votre registre de copie par défaut ne sera pas écrasé. Cependant, il peut écraser le contenu du @a
registre (qui sait, mais vous pouvez l'utiliser pour quelque chose d'important dans votre cas d'utilisation, mais cette étape un peu paranoïaque, vous pouvez l'ignorer si vous le souhaitez), corrigeons cela aussi:
: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>
nécessaire pour éviter de faire écho à nos commandes dans la ligne de message en bas.)
Nous avons maintenant deux mappages qui nous permettent de déplacer des lignes dans le fichier avec des raccourcis clavier. Vous pouvez redéfinir les boutons, j'utilise Alt+ j/ k, ce qui serait <A-j>
et <A-k>
pour ces commandes. Cependant, tous les émulateurs de terminal ne prennent pas en charge les mappages de touches Alt AFAIK.
git config --global core.editor <whatever>
ou l' autre , ou pour beaucoup de choses à la fois (y compris git) en incluantexport EDITOR=<whatever>
dans votre fichier.bashrc
.