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?

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

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:

:%>

3

Sem sair do modo normal, você pode simplesmente:

gg>G

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.