
Я пытаюсь изменить отступ файла класса в 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
f
ищет в текущей строке только символ. Вам нужно использовать команду поиска вперед /
, например, </}
и возврат каретки.
Если вы хотите избежать повторного отступа строки, в которой находится цель поиска, проще всего использовать визуальный режим: v\}k<
(где k
происходит перемещение строки).
В качестве альтернативы, если вы находитесь на линии открытия {
, вы можете использовать движение парных скобок %
, <%
.
Обратите внимание, что <
оператор документирован для работы как [count]<<
или <{motion}
, хотя <[count]<
работает также.