O que o shiftwidth faz no editor VIM

O que o shiftwidth faz no editor VIM

Eu li isto sobre a opção shiftwidth no Google: Para alterar o número de caracteres de espaço inseridos para recuo, use a opção ‘shiftwidth’.

Ok, ok, mas o que é isso mais exatamente? Como posso tentar isso para ver o que realmente acontece? Criei um novo arquivo C e adicionei uma configuração IF, mas nada acontece durante a identificação:

if (a > 0) { nada acontece aqui }

Obrigado!

Responder1

Digamos que você definiu shiftwidth=2

Em primeiro lugar, você precisa ter certeza de que o arquivo tem extensão .c. Seja usando

$ vim foo.c

para um novo arquivo ou salvando o arquivo com uma extensão .c.

Agora digite

if (a > 0) {

e pressione Enter. A próxima linha será recuada automaticamente.

if (a > 0) {
  foo();

quando você coloca um '}' correspondente, o vim irá recuá-lo corretamente.

if (a > 0) {
  foo();
}

Leia issodocumentaçãopara mais clareza.

Responder2

eu posso recomendareste screencastporDrew Neilque explicará como tabstop, softtabstop, shiftwidth e expandtab funcionam juntos.

Responder3

Outro uso importante de shiftwidth é fornecer recuo adequado ao código. Suponhamos que estejamos usando um arquivo.yaml no qual desejamos recuar algumas linhas de código.

definimos a largura do deslocamento com

esc: definir largura de deslocamento = 2

Agora selecione o que você deseja recuar com a chave

mudança + v

Agora, para recuar o código corretamente, usamos

mudança + >

E, para recuar o código à esquerda, usamos

mudança + <

informação relacionada