Como aplico um comando a todas as linhas?

19

Se desejar recuar todas as linhas de um documento, digite-o >Gpara aplicá-lo à linha atual e abaixo, seguido de e >ggpara aplicá-lo às linhas acima.

Existe uma combinação que eu possa usar para aplicar >a todas as linhas de uma só vez?

drs
fonte

Respostas:

19

Você está procurando o :>comando e um intervalo de 1,$( %para abreviar) para o arquivo inteiro.

:%>

Para obter mais ajuda, consulte:

:h :>
:h :range
Peter Rincker
fonte
5
Devido ao título desta pergunta ("aplicar um comando a todas as linhas"), acho que vale a pena notar que o exemplo na pergunta menciona o operador no modo Normal >, enquanto essa resposta usa o comando no modo de Comando :>. Estritamente não são a mesma coisa. Que eles tenham o mesmo nome deve ser considerado uma coincidência; não presuma que você possa trocar operadores e comandos em geral. Por exemplo, o gUoperador converte texto em maiúsculas, mas não:%gU é um comando válido para aplicar o mesmo a todo o buffer.
Tommcdo
7

Uma maneira de recuar todas as linhas em um documento:

:%>
user21497
fonte
3

Sem sair do modo normal, você pode simplesmente:

gg>G
romainl
fonte
2
A desvantagem aqui é que você perde sua posição no arquivo #
TankorSmash 08/12/15
Todas as outras respostas compartilham essa desvantagem e o OP não mencionou "respeitar a posição do cursor" como um requisito.
Romainl
1
<co> pode ser usado para voltar à sua posição anterior @ solução de romainl requer que você voltar duas vezes, enquanto o outro requerem apenas voltar uma vez
Brett Y
Certamente você pode apreciar o valor de manter seu lugar e como uma resposta que manteria essa posição seria valiosa.
precisa saber é o seguinte
1
É por isso que não está sendo votado. É simplesmente uma nota dizendo que há uma opção melhor em algum lugar e que eles devem continuar procurando. Por exemplo, em um site de programação SE, código desleixado que resolve o problema resolve o problema, mas você ainda espera encontrar outra solução que resolva o problema e tenha uma boa aparência.
TankorSmash
3

Outra opção que ainda não foi mencionada:

:g/^/>

Isso executará o comando >em todas as linhas que correspondem ao padrão ^.

A desvantagem é que isso substituirá seu histórico de pesquisa.

Brett Y
fonte