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

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

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 sabia que posso usar << para remover um nível de recuo e <3<fazer isso nas próximas 3 linhas, então tentei digitar <f}<enquanto estava na linha void run();para remover um nível até }, mas não funcionou (nada é feito). O que há de errado nesta abordagem?

Responder1

fpesquisa a linha atual apenas por um caractere. Você deve usar o comando search forward /, por exemplo, </}e retorno de carro.

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

Alternativamente, se você estiver na linha da abertura {, poderá usar o movimento de parênteses correspondentes %,.<%

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

informação relacionada