2008-10-03 6 views
35

Bien que je jouais avec avant, je commence enfin à utiliser Dvorak (Simplified) régulièrement. Je suis dans une relation stable avec Vim depuis plusieurs années, et j'essaie de trouver la meilleure façon de remapper les raccourcis clavier pour les adapter à mes nouvelles compétences Dvorak.Vim Dvorak keybindings (rebindings :)

Comment vous remappez les raccourcis clavier de Vim pour mieux travailler avec Dvorak?

Explications encouragées!

Répondre

32

J'utilise l'un des plus common recommended keybindings:

Dvorak it! 
no d h 
no h j 
no t k 
no n l 
no s : 
no S : 
no j d 
no l n 
no L N 
Added benefits 
no - $ 
no _^
no N <C-w><C-w> 
no T <C-w><C-r> 
no H 8<Down> 
no T 8<Up> 
no D <C-w><C-r> 

clés Mouvement restent dans le même endroit. Autres changements:

  • Supprimer 'd' -> Indésirable 'j'
  • Suivant 'n' -> Look 'l'
  • Précédente 'N' -> Look Back 'L'

Il y avait aussi quelques changements pour la familiarité, 's'/'S' peut être utilisé pour accéder au mode de commande (l'ancien emplacement du:, qui fonctionne toujours).

avantages supplémentaires

  • Fin de la ligne '$' -also- '-'
  • Début de la ligne '^' -also- '_'
  • Monter 8 'T'
  • Déplacer vers le bas 8 'H'
  • fenêtre suivante <C-w><C-w> -also- 'N'
  • fenêtres Swap <C-w><C-r> -also- 'D'

-Adam

+0

Grand, merci! (Notez que dans la publication, les balises HTML sont perdues Assurez-vous de suivre le lien fourni) – Pascal

+0

Merci pour la note - Je l'ai reformaté pour qu'il s'affiche correctement. –

2

navires Vim avec un script étendu Dvorak, mais malheureusement, ce n'est pas directement source able, car le fichier comprend quelques lignes d'instructions et un autre script qui annule ses effets. Pour le lire, exécutez la commande suivante:

:e $VIMRUNTIME/macros/dvorak 
+0

Le problème avec ce script est qu'il suppose que vous voulez les clés dans la même position. Quand vraiment les clés qui ont besoin d'être positionnées sont seulement celles du mouvement. –

20

Je ne trouve pas que je dois remapper les clés de Dvorak - je très vite habitué à utiliser les raccourcis clavier par défaut lorsque je suis passé mises en page.

En bonus, cela signifie que je n'ai pas à me souvenir de deux combinaisons de touches différentes lorsque je passe de Dvorak à Qwerty. La différence dans la disposition du clavier est suffisante pour que je ne m'attends pas à ce que les touches soient au même endroit.

9

je simplement utiliser azerty standard pour les commandes et Dvořák pour le mode d'insertion

est ici how to set it up

9

Un peu en retard, mais j'utiliser les éléments suivants:

" dvorak remap 
noremap h h 
noremap t j 
noremap n k 
noremap s l 
noremap l n 
noremap L N 

" easy access to beginning and end of line 
noremap - $ 
noremap _^

Cela fait essentiellement les éléments suivants: Left-down-up-right sont toutes sous le doigt par défaut

  • des positions sur la rangée du domicile (c.-à-d. pas déplacés par l'un comme dans le QWERTY par défaut mappings VIM)
  • l/L est utilisé pour la recherche suivant/précédent résultat
  • utilisation -/_ pour atteindre la fin/début d'une ligne

Cette semble fonctionner pour moi ...

+1

Il n'y a pas de retard, tout tourne autour de la longue queue. :-) – cdleary

+1

Merci, votre remap fonctionne très bien, j'ai assigné n et N à j et k car ces touches sont libres après les premières remappes et les touches sont à côté les unes des autres dans un bel endroit, d'ailleurs ça enlève le besoin atteindre la touche Maj. :-) –

4

Mes rebindings:

noremap h h 
noremap t j 
noremap n k 
noremap s l 
noremap j t 
noremap l n 
noremap k s 
noremap J T 
noremap L N 
noremap K S 
noremap T J 
noremap N L 
noremap S K 

notes:

  • En qwert, vi doit utiliser « h », parce que vi ne veut pas utiliser « ; » une non-lettre. Mais dans dvroak, nous avons 's', alors pourquoi ne pas prendre cet avantage?
  • vi utilise Covercles pour les actions relatives. C'est une bonne philosophie de conception. Donc, j'essaie de conforme à cela.

: Signification

n (Next) -> l (Left) -- "What's left?" resembles "What's next?" 
s (Substitute) -> k (Kill then insert) 
t (jump Till) -> j (Jump till) 
N, S, T are similar. 

J (Join lines) -> T (make lines Together) 
K (Keyword) -> S (Subject) 
L[count] (Line count) -> N (line Number) 

B.T.W. L lui-même va à la dernière ligne, et N est la dernière lettre de fin. (Merci pour tenzu faire remarquer ceci.)

P.S. J'ai utilisé ces rebindings pendant un moment. Maintenant, je ne l'utilise pas dans vim. Je n'utilise que ceux par défaut.

1

Vous pouvez l'utiliser pour have Vim use Dvorak only in insert mode:

:set keymap=dvorak 

De cette façon, toutes les commandes sont encore en QWERTY, mais tout ce que vous tapez sera dans Dvorak.

Avertissements: Eh bien, presque tout. Le mode d'insertion, le mode de recherche et le mode de remplacement seront tous dvorak, mais pas les commandes ex. Cela signifie que vous n'avez pas à réapprendre :wq, mais vous aurez besoin de type :%s/foo/bar/gc en QWERTY. Cela n'aidera pas si vous voulez seulement déplacer certaines commandes, mais j'ai trouvé que dans ma tête, «avancer d'un mot» était lié à «déplacer l'annulaire gauche vers le haut», plutôt que de «demander au département de dactylographie où la lettre «w» est, puis appuyez sur ", qui a rendu cette méthode beaucoup plus facile pour moi.