Por que usar as teclas hjklna mesma linha, em vez das teclas de um triângulo, como wasdpara jogar videogames?
Por que não algo equivalente à mão direita, como ijklou pl;'?
Por que usar as teclas hjklna mesma linha, em vez das teclas de um triângulo, como wasdpara jogar videogames?
Por que não algo equivalente à mão direita, como ijklou pl;'?
vim
está isento de acompanhar os avanços tecnológicos: 3h
mas noj
(é por isso que você tem um "mamilo" naj
tecla). A razão para isso é que você usaráb
muito mais do queh
ter;
acesso a ela é útil em muitas linguagens de programação (e com uma mudança, você tem as:
que são cada vez mais úteis no Vim).Respostas:
De http://www.catonmat.net/blog/why-vim-uses-hjkl-as-arrow-keys/ :
fonte
hjkl
e não uma forma mais lógica, comoijkl
?"A resposta do Nobe4 é ótima e explica por que usamos
hjkl
muito bem. No entanto, é realmente interessante ver o teclado completo, e muitas coisas estranhas sobre o vim fazem mais sentido quando você pode ver o teclado completo em que foi projetado. Por exemplo, por que o vi depende tanto daesc
chave, quando está em um lugar tão estranho e desconfortável? Isso é por que:Como você pode ver,
esc
é onde está a guia na maioria dos teclados.ctrl
é outra tecla que é um pouco difícil de alcançar, mas em um local muito confortável neste teclado (onde normalmente é o caps lock).fonte
vi
um<Leader>
mapeamento? Eu pensei que era uma invenção mais tarde ...:help <leader>
não tem o{not in Vi}
texto da assinatura e diz que vi:map
(embora não tenha:noremap
), por isso tenho certeza de que vi tinha líder. Mesmo que não acontecesse, eu imaginaria que a história do teclado vi influenciasse pelo menos um pouco o design do vim.<leader>
recurso no vi.:map
em tudo)Por que essas setas foram impressas nessas teclas ... é porque elas podem ser usadas com a tecla de controle para o movimento local do cursor. Ctrl-H e Ctrl-J (backspace e line feed) são óbvios e um mnemônico fácil até hoje. Ctrl-K é a "guia vertical", mas às vezes era usado para avanço de linha reverso em terminais pré-ANSI. O uso do Ctrl-L para um avanço não destrutivo do cursor foi provavelmente escolhido com base na localização do teclado.
Você também deve ter notado na imagem do teclado na outra resposta que "HOME" está na tecla
^
/~
. Obviamente, Ctrl- ^ abriga o cursor (envia para o canto superior esquerdo da tela ou para o canto inferior esquerdo, dependendo do modo).Esses mapeamentos de controle também foram usados para os terminais Wyse, o protocolo Kermit e foram suportados em algumas versões do PC ANSI.SYS.
Fontes:
kcuf1=^L
ekcuu1=^K
fonte