
我正在嘗試更改 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<
(where k
is line-up moving)。
或者,如果您位於開頭行{
,則可以使用匹配括號運動%
, <%
。
請注意,該<
運算子被記錄為作為[count]<<
或工作<{motion}
,儘管<[count]<
也可以工作。