A única coisa que sinto falta em usar outros editores é encontrar meu lugar com o mouse. Posso olhar com meus olhos para uma área específica do arquivo e com um movimento do mouse e um clique estou lá. Com o VIM eu tenho que jjjjjkkkkkkjjjjhhhh ... quase lá hhhhh oh merda eu perdi por 3 caracteres, lll.
Estou aprendendo a fazer marcas e encontrei um plugin de favoritos que é ótimo, posso criar marcadores e destruí-los <f3>
e navegar até eles com infelizmente as marcas são esquecidas quando o arquivo é fechado.
Como vocês super navegam pelos arquivos? Eu sei que também poderia fazer 5j7k4j5h e assim por diante, mas deve haver um plugin que pode ler meus olhos e colocar o cursor onde eu realmente preciso.
Também aprendi a usar /% para pesquisar um termo específico. Isso ajuda, mas todos os caracteres correspondentes são destacados em todo o documento.
fonte
Respostas:
Experimente
$ vimtutor
, ele vai te ensinar tudo que você precisa saber para começar.hjkl
são a ponta do topo do iceberg e muito raramente são usados, pelo menos no meu caso.wWEe
eBbgegE
todos permitem mover palavra por palavra:w
ee
vá em frenteW
eE
leve em consideração os espaços em branco e a pontuaçãob
ege
voltar,B
egE
levar em conta os espaços em branco e a pontuaçãofFtT
são usados para alcançar um determinado caractere na linha atual e;,
são usados para repetir esse movimento, na mesma direção;
e na direção oposta para,
:fm
pula no próximom
para frente,F
vai para trástm
pula ANTES do próximom
para frente,T
vai para trás/?
são usados para pular para a primeira ocorrência de um padrão da posição atual do cursor:/pattern
vai em frente?pattern
vai para trás0$
são usados para pular para o primeiro e o último caractere da linha.^g_
são usados para pular para o primeiro e o último caractere imprimível da linha.Simples e combinados
()[]{}
são usados para mover frase por frase ou parágrafo por parágrafo ou bloco de código por bloco de código.<C-b>
e<C-f>
são usados para rolar a tela para frente e para trás.<C-u>
e<C-d>
são usados para rolar meia tela para frente e para trás.H
,M
EL
mover o cursor para a parte superior, média e inferior da janela de visualização, respectivamente.zt
,zz
Ezb
mover a linha sob o cursor para a parte superior, média e inferior da janela de visualização, respectivamente.E assim por diante.
:help motion.txt
vai explodir sua mente.fonte
]}
e[{
(2 pressionamentos de tecla) pule para o final ou início de um escopo (por exemplo, um definido por{ ... }
how to jump to a line he's seeing like using a mouse
. Eu sei e uso todas as combinações de teclas que você mencionou o tempo todo. Mas ainda não é tão eficiente quanto apontar o mouse ao pular grandes distâncias.além do comando de movimento do vim, acho que um plugin do vim chamado EasyMotion é muito útil para navegar, se você estiver familiarizado com o vimperator ou pentadáctilo, o EasyMotion apenas traga o modo de dica de volta para o vim. aqui está uma demonstração animada e aqui está o tutorial em vídeo. Espero que seja útil para você.
fonte
Existem zilhões de maneiras de se mover no vim, esta é uma de suas áreas realmente fortes. Eu uso {e }muito, que sobe e desce para a próxima linha em branco nessa direção. %é útil para ir e voltar para um colchete correspondente (de qualquer tipo). We Bavançar e voltar por uma "palavra".
Pode valer a pena revisar a seção Movendo-se do manual do Vim.
fonte
vim tem suporte para mouse! experimente (em seu .vimrc):
Nota : como usuário da tela, descobri que também preciso
para que isso funcione.
fonte
pessoalmente prefiro usar:
fonte
Com a opção
relativenumber
( : help relativenumber - incluído no Vim 7.3 ), você pode chegar à linha sob seus olhos com o movimento a[count]k
ou[count]j
, que permite que você se mova na linha atual com movimentos comoftweb
explicado por @romainl.fonte
Além de
{
,}
,(
,)
,<number>cb
,<number>cB
,<number>cW
e%
, eu uso dessas técnicas a navegação:ciw
,diw
(ciW
,diW
). etc. para editar / excluir rapidamente a palavra sob o cursor (incluindo caracteres sem espaço)ci(
,ci"
(ca(
,ca"
), etc. para editar rapidamente entre parênteses, aspas (incluindo parênteses, aspas). O mesmo se aplica ad
.mA
irá criar uma marca globalA
que estará disponível com o'A
comando (ou`A
para respeitar a coluna).gf
ir rapidamente para o arquivo sob o cursorf
,t
(F
,T
) para mover para o char, antes do char para a direita (esquerda) (use;
para repetir). Eles são particularmente úteis para comandosd
ec
(use.
para repetir).^]
para mover para a tag e^T
para voltar.E muitas outras maneiras de se mover :)
Verifique isso para obter mais informações: http://www.thegeekstuff.com/2009/03/8-essential-vim-editor-navigation-fundamentals/
PS Para usuários de rails, há um plugin rails-vim muito útil, você pode querer dar uma olhada também.
fonte
este é um bom lugar para aprender os principais comandos de navegação, parte do poder / velocidade do vim vem da combinação de movimento com ação, ou seja
cw
-> alterar palavra,d10j
-> deletar 10 linhas abaixo, etc. Também esta e esta são leituras interessantes.fonte
Você pode
:set nohlsearch
desligar o destaque de seus personagens de pesquisa.Eu também navego muito usando ctags.
fonte
Eu escrevi um plugin com uma navegação super rápida em mente, é chamado move-less:
https://github.com/anschnapp/move-less
Ele permite que você procure o arquivo de buraco confortável, rolando com (
h
j
k
l
-keys). Você não muda a posição do cursor enquanto rola o site do buraco (com base no truque de dobra). Se você abortar sua busca, você estará exatamente onde começou.Para uma navegação super rápida, a intenção é usar meu plugin para obter a posição desejada na tela e então pular para a posição certa via easymotion (que já foi recomendado em outra resposta):
https://github.com/easymotion/vim-easymotion
Se você combinar os dois, você pode até mesmo avançar no histórico de saltos e pode pular entre sua origem e destino simplesmente via
<c-o>
e<c-i>
.fonte