Disable h,j,k,l keys

42 views
Skip to first unread message

Salviano Ludgério

unread,
Feb 8, 2013, 10:28:16 AM2/8/13
to vim-us...@googlegroups.com

Lucas Caton

unread,
Feb 8, 2013, 11:39:32 AM2/8/13
to Salviano Ludgério, vim-us...@googlegroups.com
Comecei a fazer isso há uns 5 meses.

No começo ralei um pouco, mas valeu a pena!

--
Lucas Caton


2013/2/8 Salviano Ludgério <salvia...@gmail.com>

--
:wq
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Vim Users BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para vim-users-br...@googlegroups.com.
Para postar neste grupo, envie um e-mail para vim-us...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/vim-users-br?hl=pt-BR.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

Vitor Lobo

unread,
Feb 11, 2013, 12:57:29 PM2/11/13
to vim-us...@googlegroups.com
To tentando aquele joguinho la do vim para me acostumar com o h,j,k,l ...já que dizem que as setas são mau hábito rs.....mas me lembra muito quando eu jogava games de emulador snes...apesar de que..ainda me parece estranho uma tecla do lado da outra. Em games, particularmente costumava configurar assim:

    w
a , s, d

    u
  j, k .l


no mesmo esquema de  layaout das setas...
Em sexta-feira, 8 de fevereiro de 2013 15h28min16s UTC, Salviano Ludgério escreveu:

Cássio Marques

unread,
Feb 11, 2013, 1:36:34 PM2/11/13
to Vitor Lobo, vim-us...@googlegroups.com
O motivo das teclas h,j,k,l serem usadas para movimentar o cursor:

http://www.catonmat.net/blog/why-vim-uses-hjkl-as-arrow-keys/

-- 
Cássio Marques

--

Vitor Lobo

unread,
Feb 11, 2013, 2:34:03 PM2/11/13
to vim-us...@googlegroups.com
Então, boiei rs.....pensei que havia algum motivo além ....para ser considerado um mau hábito usar as setas...já que o motivo parece ser somente e tão somente porque o vi foi projetado em um pc antigo....

Cássio Marques

unread,
Feb 11, 2013, 5:09:41 PM2/11/13
to Vitor Lobo, vim-us...@googlegroups.com
Não, postei isso apenas como uma curiosidade histórica, para saber porque as teclas são essas, já que você comentou que acharia melhor se elas estivessem em uma posição de "cruz". 

A vantagem de usar as teclas h,j,k,l é que usando-as você não precisa mover a mão no teclado para alcançar as setas, digitando mais rapidamente depois que pega a prática. Além disso, todos os motions podem ser combinados com quantificadores (mova 10 linhas para baixo, mova 5 linhas para cima, mova 3 caracteres para a direita, etc), o que tornam as teclas ainda mais poderosas.

-- 
Cássio Marques

--

Arthur Carvalho (armoucar)

unread,
Jul 12, 2014, 10:33:37 AM7/12/14
to vim-us...@googlegroups.com, vitaumm...@gmail.com
Revivendo por que ativei o plugin do 'HardMode' (https://github.com/wikitopian/hardmode) agora e quero voltar um pouco no assunto...

Tudo bem, se virar sem as teclas 'h' e 'l' até vai. Há inúmeras formas de se mover em forma horizontal: [w,b,e,ge,f,F,t,T]...
Mas não achei substitutos para os benditos 'j' e 'k'. Mover para a linha de baixo é bem essencial pra mim, principalmente quando estou em modo VISUAL ou VISUAL BLOCK.

Alguém aí tem sugestões para substituir essas teclas ou vou ter que retirar os benditos 'silent's do código do plugin?

Valeeu!

Magnun Leno

unread,
Jul 12, 2014, 4:01:33 PM7/12/14
to Arthur Carvalho (armoucar), vim-us...@googlegroups.com
Em 12-07-2014 11:33, Arthur Carvalho (armoucar) escreveu:
> Revivendo por que ativei o plugin do 'HardMode'
> (https://github.com/wikitopian/hardmode) agora e quero voltar um pouco
> no assunto...
Esse plugin é bem legal. Mas acho o "vim-hardtime" mais customizável[1].
> Tudo bem, se virar sem as teclas 'h' e 'l' até vai. Há inúmeras formas
> de se mover em forma horizontal: [w,b,e,ge,f,F,t,T]...
> Mas não achei substitutos para os benditos 'j' e 'k'. Mover para a
> linha de baixo é bem essencial pra mim, principalmente quando estou em
> modo VISUAL ou VISUAL BLOCK.
>
> Alguém aí tem sugestões para substituir essas teclas ou vou ter que
> retirar os benditos 'silent's do código do plugin?
Você pode pular sentenças com ( e ), parágrafos com { e } (lembrando que
esses pulam para a próxima linha, se necessário), mover o cursor para o
topo da tela com H, para o meio da tela com M e para o fim da tela com L
e ir diretamente para uma linha com <# linha>G ou :<# linha>. Não
esquecendo que você sempre pode buscar pra frente com / e para traz com
?. Além disso, uma vez desabilitado o h e o j, o jumplist será seu
melhor amigo (:help jumplist), vá para o ponto anterior com CTRL+o e
para o próximo ponto com CTRL+i. Outra funcionalidade que ajuda muito
são as marcas (:help marks). Faça marcas no seu arquivo com m<a-z> e
pule para elas com '<a-z>. Para paginar utilize CTRL+D e CTRL+U.

Se mesmo assim você se sentir limitado, teste os plugins
vim-easymotion[2] e/ou vim-sneak[3], eles proveem uma funcionalidade
semelhante à tecla "f" que funciona na vertical.

[1]:
https://github.com/takac/vim-hardtime#maximum-number-of-repetative-key-preses
[2]: https://github.com/Lokaltog/vim-easymotion
[3]: https://github.com/justinmk/vim-sneak

Até mais...
Magnun Leno

Arthur Moura Carvalho

unread,
Jul 12, 2014, 5:05:01 PM7/12/14
to Magnun Leno, vim-us...@googlegroups.com
Hey Magnum,

não conhecia sobre o :jumlist - esse me pareceu bem parecido com { }, mas preciso ver melhor - e nem sobre as :marks - bem interessante. Vou dar uma lida na doc de cada um e ver se entram no meu vocabulário vim, hehe.
Mas o que solucionou mesmo o meu problema (edição vertical / VISUAL BLOCK), foi o  <# linha>G.

Eu já até tinha liberado os j e k no meu hard-mode, mas vou bloquea-los de novo.

Valeu demais :)

Arthur Moura Carvalho

Magnun Leno

unread,
Jul 12, 2014, 5:38:00 PM7/12/14
to vim-us...@googlegroups.com
Olá Arthur,

não conhecia sobre o :jumlist - esse me pareceu bem parecido com { }, mas preciso ver melhor -
O Jumplist é legal que ele é "auto-populado", toda vez que você usa qualquer movimento vertical sem ser o h e o j, ele é "rastreado". Então (digamos) se você estava na linha 10, fez uma pesquisa e foi parar na linha 17, depois pulou pra a linha 20 com 20G você terá as seguintes linhas no jumplist: 10, 17, 20. Se você pressionar CTRL-o, você voltará da linha 20 para a linha 17. Se você pressionar CTRL-i, você voltará da linha 17 para a linha 20. Isso é legal pois você não precisa ficar decorando a linha que estava.

Complementando o jumplist sugiro o uso do "gi", que te leva de volta para o local onde você fez a última inserção. Muito útil para quando você está programando e precisa consultar algum outro trecho de código. Depois de consultado, simplesmente pressione "gi" e volta a programar sem ter que procurar onde você estava antes.


e nem sobre as :marks - bem interessante.
Caso queira tirar mais proveito das marks, teste o plugin vim-signature[1], ele cria marcas visuais que ajudam a lembrar as marcas que já fizemos.

Vou dar uma lida na doc de cada um e ver se entram no meu vocabulário vim, hehe.
Mas o que solucionou mesmo o meu problema (edição vertical / VISUAL BLOCK), foi o  <# linha>G.
Legal.


Eu já até tinha liberado os j e k no meu hard-mode, mas vou bloquea-los de novo.
Boa sorte!

[1]: https://github.com/kshenoy/vim-signature

Att,
Magnun Leno

Magnun Leno

unread,
Jul 12, 2014, 5:42:02 PM7/12/14
to vim-us...@googlegroups.com
Ia me esquecendo, algumas boas fontes pra aprender jumplists e marks:

http://vimcasts.org/episodes/using-the-changelist-and-jumplist/
http://usevim.com/2012/05/04/marks/
http://vim.wikia.com/wiki/Using_marks

Att,
Magnun Leno

Arthur Carvalho (armoucar)

unread,
Jul 14, 2014, 11:19:57 AM7/14/14
to vim-us...@googlegroups.com
Depois de um dia com o hardmode eu já desisti dele... :P
Foi bom ativar ele pq me fez perceber o quanto sou dependente desses comandos. Porém tem casos em que eu tenho que fazer um trabalho muito grande só pra ter que mover uma linha pra baixo, ou pra cima (gj, gk, [nr]G, :[nr]). Nesse caso eu prefiro continuar usando os bons e velhos j,k.

Acabei de colocar o vim-hardtime que é um pouco menos restrito. Ele deixa usar h,j,k,l mas apenas uma vez por segundo.

Vamo lá, tentar de novo!

Magnun Leno

unread,
Jul 14, 2014, 11:44:54 AM7/14/14
to vim-us...@googlegroups.com
Em 14-07-2014 12:19, Arthur Carvalho (armoucar) escreveu:
Depois de um dia com o hardmode eu já desisti dele... :P
Foi bom ativar ele pq me fez perceber o quanto sou dependente desses comandos. Porém tem casos em que eu tenho que fazer um trabalho muito grande só pra ter que mover uma linha pra baixo, ou pra cima (gj, gk, [nr]G, :[nr]). Nesse caso eu prefiro continuar usando os bons e velhos j,k.
É realmente difícil de se apegar ao j/k para pequenos movimentos.

Acabei de colocar o vim-hardtime que é um pouco menos restrito. Ele deixa usar h,j,k,l mas apenas uma vez por segundo.
Boa sorte com ele. Usando a variável g:hardtime_maxcount você consegue aumentar essa limitação pra N repetições. Ex:
let g:hardtime_maxcount = 5
Ah, tem outro movimento no VIM que pode te ajudar, são as teclas + e -. Eles são proporcionais ao j e k, só que após mover uma linha para baixo, ele move o cursor para o primeiro caractere non-blank. E esse movimento pode ser "multiplicado" por um número: 5-

Att,
Magnun Leno

JFranklin

unread,
Dec 7, 2014, 4:25:54 PM12/7/14
to vim-us...@googlegroups.com
Boa noite pessoal.
Alguém já tentou se movimentar usando os comandos ( ?, / ) 
com o incsearch habilitado? Estou usando e me sentindo 
mais produtivo, até desabilitei h,j,k,l, que só estão fazendo falta
para criar macros.

Arthur Carvalho (armoucar)

unread,
Dec 11, 2014, 9:33:55 AM12/11/14
to vim-us...@googlegroups.com
Franklin,

esse definitivamente é um bom jeito de se movimentar, principalmente quando você já conhece o código e sabe exatamente nomes de métodos e variáveis onde quer chegar. Quando programando java, sou usuário do eclipse, uso bastante, porém com uma feature do próprio eclipse que lista o nome de todos os métodos e variáveis de uma classe para que você digite e já vá diretamente para o ponto desejado.

Macros são lindas, não dificulte sua vida sem hjkl... Use o hardtime com a opção que o Magnum recomendou.

JFranklin

unread,
Dec 12, 2014, 11:56:08 AM12/12/14
to vim-us...@googlegroups.com
É só desativei mesmo para criar o hábito de usar está opção de movimentação, mas 
já voltei a habilita-las e só estou utilizando j,k quando for para descer  ou subir uma ou duas
linhas.
Reply all
Reply to author
Forward
0 new messages