Se eu quiser, digamos, excluir um bloco, posso usar movimentos de objetos de texto.
Ou seja, se meu texto fica assim:
(let [a 1 b {:x 3 :y 4}]
a)
E o cursor está, por exemplo, no personagem 3
.
Se eu digitar diB
, :x 3 :y 4
será excluído. Se for daB
, o bloco e os colchetes serão excluídos:{:x 3 :y 4}
Então, o padrão é:
operation inclusion block-motion
Onde a operação pode ser:
d
- excluirc
- mudançay
- cópia de ...
a inclusão é:
i
- interior (sem suportes) oua
- todos
e movimento de bloco:
b
,(
Ou)
para()
parêntesesB
,{
Ou}
para{}
curlies[
ou]
e<
ou>
para os seus próprios colchetes, etc.
Agora, a pergunta é: existe um movimento de bloco para o bloco mais interno com colchetes de qualquer um desses tipos?
Eu gostaria de ser capaz de fazer da?
com ?
sendo o movimento que eu estou procurando. E se o cursor no meu exemplo acima estiver dentro, {}
digamos, 3
eu excluiria apenas o, {}
mas se meu cursor estivesse ligado b
, excluiria o []
bloco, etc.
line 13: E15: Invalid expression: E15: Invalid expression: {
(…). Eu tenho o vim 7.2, seu código requer 7.3? A propósito, enquanto as questões de programação geralmente são redirecionadas para o SO, respostas de script (para shells, editores e outros programas que podem ser gravados) são comuns aqui.set cpo&vim
no início do script - que foi testado e desenvolvido no vim 7.2.148 no ... Windows XP. (Estou um pouco cansado dessa dispersão da comunidade vim, veja os comentários sobre esta resposta stackoverflow.com/questions/4488979/… ) #b
para todos os blocos, mas ele ainda seleciona apenas o()
tipo de bloco. Preciso chamá-lo de maneira diferente ou eu o instalei errado?ib
já significa alguma coisa. Você usa este comi%
oua%
(ver os mapeamentos) =>di%
,va%i%
,c2a%
, etcNão por padrão, mas pode haver algum mecanismo para adicionar essa funcionalidade. No visual.txt, a seção sobre como operar na área visual, tem o seguinte:
fonte
Existe um addon vim chamado textobj-user que suporta .. hum, algo parecido com isto. Na verdade, não tenho certeza se entendi o que você está procurando, mas acho que esse complemento se destina a tornar mais conveniente escrever um complemento para implementar o que você deseja.
fonte