4 votes

Raccourcis clavier "Home" et "End" en mode INSERT dans Vim avec MacBook Pro

Je suis assez novice en matière de Vim et de Mac, j'ai un MacBook Pro avec Retina Display fonctionnant sous OS X 10.8.3, qui n'a PAS la version native de Vim. Home , End , PageUp y PageDown clés.

Je connais les Fn + arrow keys peut fonctionner dans certaines applications. En bash également, je peux utiliser Ctrl + A au début de la ligne de commande que je suis en train de taper et Ctrl + E aller jusqu'au bout.

Mais dans Vim avec le mode INSERT/edit, tout cela fonctionne différemment. Je ne veux pas toujours basculer en mode normal en utilisant 0 y $ ou I y A . (Ou, est-ce la meilleure façon ?)

Quelqu'un peut-il me montrer des astuces pour mapper des touches de raccourcis qui peuvent fonctionner de manière pratique ? Ou d'autres solutions ? (Mais s'il vous plaît, pas de MacVim, je veux d'abord essayer le Vim natif :) ) ?

D'autres conseils pour Home , End , PageUp y PageDown Les fonctions sous Mac sont également les bienvenues.

4voto

Allez dans Terminal -> Préférences -> Profils -> Clavier et ajoutez :

Clé : Action : \033OH

Clé : Action : \033OF

2voto

vbo Points 193

Vim vous permet de faire correspondre n'importe quelle séquence de touches à une autre séquence de touches à l'aide de la fonction :map commande. Il existe plusieurs types de cette commande, qui peuvent être utilisés pour créer des raccourcis uniquement pour certains modes de vim. Voir cette page et/ou :help map dans vim pour plus de détails.

Pour ce qui est de vos questions, il y a deux façons d'implémenter vim Home comportement :

  • 0 (zéro) pour aller à la toute première colonne
  • ^ pour aller à la colonne contenant le premier caractère non blanc d'une ligne donnée

Pour End vous pouvez utiliser $ . Pour PageUp y PageDown vous pouvez utiliser Ctrl+F y Ctrl+B respectivement.

Cette touche ne fonctionne qu'en mode commande, mais vous pouvez la remapper pour l'utiliser en mode insertion avec :imap ("i" pour le mode insertion) et Ctrl+F . Par exemple, pour mapper Ctrl+A d'agir en tant que 0 utiliser cette commande :

:imap <C-a> <C-o>0

Il s'agit d'une commande standard de vim qui doit fonctionner sans problème dans les consoles vim, gvim, mvim, etc.

1voto

Tony Williams Points 11219

Un seul conseil. Par défaut, bash fonctionne en "mode emacs". Vous pouvez le changer en "mode vi". Bash utilise le paquetage readline pour éditer votre ligne de commande, pour plus de détails lisez la section "READLINE" de la page de manuel de bash.

En bref, vous pouvez redéfinir un grand nombre de liaisons de touches dans un fichier appelé .inputrc qui devrait se trouver dans votre dossier personnel.

readline est également utilisé par un certain nombre d'autres utilitaires et d'endroits tels que le shell interactif Python.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X