Não sou bom o suficiente no vim para determinar se isso foi possível ou não (e foi por isso que vim para o superusuário e não é bom) ~ existe uma maneira no vim de alternar facilmente duas palavras?
por exemplo, def function(param1, param2)
existe uma maneira rápida / fácil de mudar isso para def function(param2, param1)
???
+1 para a resposta de @ Heptite.
Para uma maior abrangência, aqui está o que eu tenho no meu .vimrc:
Fonte: wiki do vim .
Vejo que o meu (e o wiki)
gw
é um pouco diferente do de Heptite. Não tenho certeza de qual é o melhor.fonte
Essa longa solução é feia. Suponha que o cursor esteja à esquerda da primeira letra da primeira palavra, ou seja, 'p'. Faça o seguinte:
dwlpldw%p
. Isso se encaixa no seu caso especial. Que tal lidar com a edição diária? TentedwwP
oudWWP
. : DDicas: nem sempre escreva expressões regulares longas, se não precisar fazer isso com frequência. Caso contrário, o seu vimrc cresce. Todos os usuários do vim devem estar familiarizados com o movimento do cursor interno.
fonte
Escrevi mapeamentos repetíveis usando uma combinação de vim-exchange , Repeatable (que depende de repeat.vim ) e argtextobj .
A vantagem em usar os plugins de troca e repetíveis para esses mapeamentos é:
u
desfará a troca (são alterações atômicas).
para continuar movendo o argumento para a esquerda / direita.Sei que sei, parece que existem muitos plugins para uma operação simples, mas pense no que mais esses plug-ins oferecem:
ia
eaa
textobj para apagar (dia
edaa
), e puxando (yia
)..
.fonte
Trocar mapeamentos para idiomas latinos
Os mapeamentos de troca do wiki do Vim não funcionarão corretamente em palavras com caracteres acentuados.
Esses mapeamentos são adaptados para trabalhar com caracteres (europeus) ISO / IEC_8859-1 Suplemento latino-1 . Isso é feito substituindo todas as instâncias de
\w
com[0-9A-Za-zÀ-ÖØ-öø-ÿ_\-]
e todas as instâncias de\_W
com\_[^0-9A-Za-zÀ-ÖØ-öø-ÿ_\-]
.Compensação do destaque da pesquisa
Além disso, o realce da pesquisa é limpo quando necessário. Isso é obtido adicionando
:nohlsearch<return>
ao final de cada mapeamento necessário.Aqui está o resultado final:
fonte
O plugin Eclim fornece um bom. Todos os créditos para eles :)
.. e se você não deseja instalar o plugin inteiro, eis a função extraída:
fonte