1

Я пытаюсь изменить отступ файла класса в vim так, чтобы:

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

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

будет выглядеть так:

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

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

Я знал, что могу использовать <<, чтобы удалить один уровень отступа, и <3< чтобы сделать это в следующих 3 строках, поэтому я попытался набрать <f}< находясь в строке void run(); удалить один уровень до}, но это не работает (ничего не делается). Что не так на этом подходе?

1 ответ1

1

f ищет в текущей строке только символ. Вы должны использовать команду поиска вперед / , например </} и возврат каретки.

Если вы хотите избежать повторного отступа строки, в которой находится цель поиска, самый простой способ - использовать визуальный режим: v\}k< (где k - движение строки).

В качестве альтернативы, если вы находитесь на линии открытия { , вы можете использовать движение соответствующих парней % , <% .

Обратите внимание, что задокументировано, что оператор < работает как [count]<< или <{motion} , хотя <[count]< тоже работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .