Utenti di Vim, dove riposi la mano destra? [chiuso]


116

Utenti vim di lunga data, tenete le dita accese jkl;o hjklin modalità normale?

La digitazione a tocco standard ci insegna che la posizione iniziale per la mano destra ha il dito indice sul jtasto, quindi le dita sono accese jkl;.

Ma i tasti di movimento standard di vim lo sono hjkl.

Sto tornando a vim dopo 10+ anni (omg, sono invecchiato quando non stavo prestando attenzione) e mi trovo a gravitare verso hjkl... ma questo rende più difficile digitare lettere in alto a destra, parentesi graffe, ecc. Mi piacerebbe allenarmi a usare il metodo più efficiente / pragmatico adesso invece di dover riqualificare in seguito.

Utenti vim di lunga data e accaniti, qual è la migliore pratica?


Nota:

  1. Maggiore sovrapposizione con Come navigano i dattilografi in vi?
  2. Penso che questo superi il test "soggettivo" perché si tratta di coltivare deliberatamente una best practice inconscia e non semplicemente sulle preferenze delle persone

26
Come mai questa non è una vera domanda ? Sta chiedendo dove dovresti tenere le dita. Questo è perfettamente responsabile.
alternativa

La "migliore pratica" in questo caso è soggettiva. Le persone sono diverse e metteranno le mani dove è loro comodo.
Randy Morris

1
Sto iniziando e ho lo stesso problema, jklç (tastiera pt) è migliore per la migliore pratica di digitazione sulla tastiera di un computer. Sembra naturale. Non voglio che vim mi faccia disimparare il modo giusto di scrivere che ho speso così tanto per imparare e fare pratica.
ancm

1
@RandyMorris Certamente le persone sono diverse e dovrebbero fare ciò che funziona meglio per loro, tuttavia ciò non significa che certe pratiche siano migliori nella maggior parte delle situazioni, vengono in mente i tasti home per la digitazione tattile generale. Quindi non compro l'argomento secondo cui non si può rispondere perché è soggettivo e, se è davvero così, dovrebbe essere la risposta con le informazioni per dimostrare perché non esiste una chiara best practice.
jonvw

Risposte:


118

Penso che in jkl;realtà sia l'uso più appropriato per vi. Per uno, he ldavvero non importa così tanto. w, ee bsono molto più utili per la navigazione orizzontale. Come bonus, ;è facile da ottenere se la lingua lo richiede. Avere un dito più debole su kfa male e non hai bisogno del tuo dito più forte su h, quando dovrebbe essere su quello jche è probabilmente il più utilizzato dei quattro.


Oh merda. Sono un utente di vim da alcuni anni e ho sempre usato hjkl per le frecce. Anche se capisco che il tuo metodo suggerito è più efficiente, dubito che avrò mai abbastanza coraggio per passare ad esso.
Mikhail Kalashnikov

2
Oh Dio, cos'è questa tana del coniglio che ho iniziato ...
Jason Kelley il

16

Intro

Nessuna delle 2 soluzioni precedenti era soddisfacente al 100%. Propongo un terzo modo, uno che combina il meglio di entrambi i mondi

La mia raccomandazione: "giù-su-sinistra-destra"

Mantieni su / giù dove sono, quindi fai il terzo e quarto dito a sinistra ea destra

Quindi, per evitare di sovrascrivere le funzionalità di base di Vim: Lancia tutto ciò che era attivo ; al pulsante h ora vuoto

Come bonus carino, il tasto " l " ora sta per " sinistra ";)

noremap lh
noremap; l
noremap h;



I precedenti "secondi classificati", che utilizzano entrambi il layout "sinistra-giù-su-destra" :


Scelta 1: "hjkl"

Raccomandazione di @ alternative . Le associazioni di tasti rimangono predefinite ( hjkl ), la mano destra rimane sulla riga home ( jkl; )

  • professionisti:
    • j (verso il basso) e K (su) soggiorno sulle primarie 2 dita, dove meritano
  • contro:
    • Devi allungare la mano per h (sinistra) . Anche se questo non è usato come w, e, b , è ancora un pulsante freccia insanguinato e sarebbe bello averlo nella riga di casa
    • Fondamentalmente: tutte e 4 le dita non poggiano naturalmente sui pulsanti freccia. Questo confonde la mia mano


Scelta 2: "jkl;"

Fai scorrere quei 4 legami su 1 in modo che si siedano sulla riga principale:

noremap; l
noremap lk
noremap kj
noremap jh

  • professionisti:
    • Nessuna confusione con le dita; tutte le frecce sono naturalmente sotto le dita
  • contro:
    • Come ha detto @alternative, essere su / giù sul 2 ° e 3 ° dito è molto "non ottimale"
    • Allo stesso modo, anche il dito più forte a sinistra è uno spreco

1
Grazie. Per quanto riguarda la tua raccomandazione, l'unica cosa che non funziona finora è passare da una divisione all'altra con Ctrl + W + <direction>.
Rafał Cieślak

11

Tengo le mani sulla fila di casa, nel normale modo da dattilografo. Raramente utilizzo il tasto h per il movimento, poiché spostare uno spazio a sinistra di solito non è un modo efficiente per muoversi (e non si adatta veramente all'essenza di Vim).


6

Capisco, che hjklè usato per ragioni storiche (cioè ecco perché vim usa i tasti hjkl come tasti freccia ) e non si basa su alcuna logica ergonomica.

Personalmente preferisco seguire l'approccio consigliato dal window manager i3 che, come spiegato nelle FAQ su Perché la configurazione predefinita usa jkl; invece di hjkl? è una scelta ergonomica.

i3 utilizza jkl;perché questi tasti costituiscono la "riga home" sotto la mano destra quando si digita a tocco.

Controlla questo su vim rimappando hjkl injkl;


4

Pur comprendendo la filosofia di Vim di avere tutti i movimenti disponibili nella fila di casa, ho trovato hjklcontrointuitivo. Una mappa molto più sana con cui pensavo sarebbe stata una configurazione simile a wasdijkl

    nnoremap j h
    nnoremap k j
    nnoremap i k

Ho trovato molto facile navigare con molto natrually.

j:left
i:up
k:down
l:right

Per attivare / disattivare la modalità inserimento / normale, io personalmente uso Alt-edato che uso quasi sempre Gvim e non devo preoccuparmi che alcuni terminali abbiano problemi con Alt.

    nnoremap <A-e> i
    inoremap <A-e> <esc>l

2
Sembra sospettosamente come emacs!
rlms
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.