Como adicionar / remover recuo da linha atual até a linha onde um dado padrão é encontrado?

1

Estou tentando alterar o recuo de um arquivo de classe no vim para que:

class ClassName {
    Q_OBJECT                                                                       
    public:                                                                        
    ClassName(int deviceId = 1);                                                 
    ~ClassName();                                                                

    public slots:                                                                  
        void run();                                                                    
        void connectDevice();                                                          
        void disconnectFromDevice();                                                   
};

torna-se:

class ClassName {
    Q_OBJECT                                                                       
    public:                                                                        
    ClassName(int deviceId = 1);                                                 
    ~ClassName();                                                                

    public slots:                                                                  
    void run();                                                                    
    void connectDevice();                                                          
    void disconnectFromDevice();                                                   
};

Eu sei que posso usar < < para remover um nível de recuo e <3< para fazer isso nas próximas 3 linhas, então eu tentei digitar <f}< enquanto na linha void run(); para remover um nível até o}, mas ele não funciona (nada é feito) . O que há de errado nessa abordagem?

    
por Vitor 09.08.2016 / 16:25

1 resposta

1

f pesquisa a linha atual apenas para um caractere. Você precisa usar o comando de encaminhamento de pesquisa / , por exemplo </} e retorno de carro.

Se você quiser evitar recuar a linha onde está o alvo da pesquisa, o mais simples é usar o modo visual: v\}k< (onde k é o movimento de alinhamento).

Como alternativa, se você estiver na linha de abertura { , poderá usar o movimento correspondente-parentes % , <% .

Observe que o operador < está documentado para funcionar como [count]<< ou <{motion} , embora <[count]< também funcione.

    
por 09.08.2016 / 17:15

Tags