2008-10-03 13 views
35

Aunque he jugado con él antes, finalmente estoy empezando a utilizar Dvorak (Simplified) regularidad. He estado en una relación estable con Vim durante varios años, y estoy tratando de encontrar la mejor manera de remapear las teclas para adaptarme a mis nuevas habilidades Dvorak.Vim Dvorak combinaciones de teclas (rebindings :)

¿Cómo usted vuelve a asignar las ataduras de teclas de Vim al mejor trabajo con Dvorak?

Explicaciones anima!

Respuesta

32

que utiliza uno de los más 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> 

teclas de movimiento permanecen en el mismo lugar. Otros cambios:

  • Borrar 'd' -> basura 'j'
  • Siguiente 'n' -> Look 'l'
  • Anterior 'N' -> Look Back 'L'

también hubo algunos cambios de familiaridad, 's'/'s' se puede utilizar para acceder al modo de comando (la antigua ubicación de la:, que todavía funciona).

Los beneficios adicionales

  • Fin de línea '$' -also- '-'
  • principio de la línea '^' -also- '_'
  • Mover hasta 8 'T'
  • ventana Mover hacia abajo 8 'H'
  • Siguiente <C-w><C-w> -also- 'N'
  • ventanas Intercambia <C-w><C-r> -also- 'D'

-Adam

+0

Genial, gracias! (Tenga en cuenta que en la publicación, las etiquetas HTML se pierden. Asegúrese de seguir el enlace proporcionado) – Pascal

+0

Gracias por la nota: la he reformateado para que se muestre aquí correctamente. –

2

barcos Vim con una extensa escritura de Dvorak, pero por desgracia no aparece de forma source -able, ya que el archivo incluye unas líneas de instrucciones y otro script que deshace sus efectos. Para leerlo, emita el siguiente comando:

:e $VIMRUNTIME/macros/dvorak 
+0

El problema con esta secuencia de comandos es que asume que desea las claves en la misma posición. Cuando realmente las claves que necesitan posicionarse son solo las de movimiento. –

20

no encuentro lo que necesito para volver a asignar las teclas de Dvorak - muy rápidamente me acostumbré a usar las combinaciones de teclas por defecto cuando cambié diseños.

Como beneficio adicional, esto significa que no tengo que recordar dos combinaciones de teclas diferentes Cuando cambio de Dvorak y Qwerty. La diferencia en el diseño del teclado es suficiente para que no espere que las claves estén en la misma ubicación.

9

simplemente uso QWERTY estándar para comandos y Dvorak para el modo de inserción

Aquí es how to set it up

9

Un poco tarde, pero yo uso el siguiente:

" 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 _^

Esto básicamente hace lo siguiente:

  • left-down-up-right están todas debajo del dedo predeterminado posiciones en la fila de inicio (es decir No se movieron por uno como en el QWERTY predeterminado Vim asignaciones)
  • l/L se utiliza para el próximo resultado de la búsqueda/anterior
  • uso -/_ para llegar al final/comienzo de una línea

Este parece que funciona para mí ...

+1

No hay tarde, se trata de la cola larga. :-) – cdleary

+1

Gracias, su remap funciona muy bien, le asigné n y N a j y k porque esas teclas son gratuitas después de las primeras reasignaciones y las teclas están una al lado de la otra en un buen lugar, además de que elimina la necesidad para alcanzar la tecla shift. :-) –

4

Mis 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 

Notas:

  • En qwert, vi tiene que usar 'h', porque vi no quiere usar ';' una carta no. Pero en dvroak, tenemos 's', ¿por qué no aprovechar esta ventaja?
  • vi usa mayúsculas para acciones relativas. Esta es una buena filosofía de diseño. Así que trato de conformar esto.

significados:

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 mismo va a la última línea, y N es la última letra de aleta. (Gracias por tenzu para señalar esto.)

P.S. He usado estos rebindings por un tiempo. Ahora no lo uso en vim. Solo uso los predeterminados.

1

Usted puede usar esto para have Vim use Dvorak only in insert mode:

:set keymap=dvorak 

De esta manera todos los comandos están todavía en QWERTY, pero todo lo que escriba estará en Dvorak.

Advertencias: Bueno, casi todo. El modo de inserción, el modo de búsqueda y el modo de reemplazo serán todos dvorak, pero los comandos ex no lo serán. Esto significa que no tiene que volver a aprender :wq, pero necesitará el tipo :%s/foo/bar/gc en QWERTY.

Esto no ayudará si solo quieres mover ciertos comandos, pero encontré que en mi cabeza, "avanzar una palabra" estaba destinado a "mover el dedo anular izquierdo hacia arriba", en lugar de "preguntar al departamento de mecanografía donde está la letra 'w' y luego presiónela, "lo que hizo que este método fuera mucho más fácil para mí.

Cuestiones relacionadas