Est-il possible d'avoir des raccourcis clavier vim dans un terminal?


42

Je m'habitue aux liaisons vim (comme appuyer sur w pour aller au mot, dw pour supprimer un mot, etc.) et ses modes (insertion, normal, visuel), et, par curiosité, aimerait savoir: y at-il des type d'implémentation de ce comportement des modes et des liaisons de vim à mon terminal?

Avoir le mode insertion, mode normal et autres ...

Réponses:


46

Il dispose des modes insertion et normal (le mode insertion est le mode par défaut et échappe pour le mode normal) mais pas de mode visuel.

In bash: set -o viVous pouvez l'exécuter sur la ligne de commande pour cette session uniquement ou l'ajouter à votre fichier .bashrc.

De nombreux programmes utilisent readlinepour l' entrée, et vous pouvez faire une d'entre eux utilisent des raccourcis clavier vi de style en créant votre .inputrcavec

set editing-mode vi
set keymap vi

Dans zsh, si vous modifiez votre EDITORvariable d'environnement, le shell lui correspondra.


1
Génial. Savez-vous s'il est possible d'avoir une sorte de .vimrc aussi, mais pour cela utilise? Par exemple, l'ajout de mappages différents à <ÉCHAP> ...
Quelqu'un vous utilise toujours MS-DOS

2
@ Somebody: Pas .vimrcdepuis que vous utilisez toujours l'éditeur intégré du shell, mais vous pouvez configurer les liaisons de touches dans .inputrctoutes les applications readline (telles que bash), .bashrcspécifiquement pour bash, dans .zshrcpour zsh.
Gilles, arrête de faire le mal '15

1
Checkout the bind builtin
Shawn J. Goff

3
Notez que sous OS X, vous aurez besoin de mettre le put -o vifichier ~ / .bash_profile à la place de ~ / .bashrc.
Steve Jorgensen

6
Je remarque que l'apparence du curseur ne change pas dans les différents modes, les combinaisons de touches bash w / vi. Y a-t-il un moyen de le faire faire cela? Ce serait bien d'avoir une indication visuelle du mode dans lequel je suis.
Steve Jorgensen
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.