
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
f
pesquisa 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 k
está 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.