我正在尝试更改 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]<
也可以工作。