comando vi para adicionar linha em branco?


24

No vi, posso usar oou Oadicionar uma linha em branco e entrar no modo de inserção. Mas e se eu quiser permanecer no modo de comando, existe um comando para isso?

No Google, estou vendo sugestões para adicionar coisas ao meu vimrc, mas parece que deve haver uma maneira mais fácil (que sempre funcionará).

Respostas:


25

De acordo com as perguntas frequentes do VIM, você pode usar o :putcomando:

12.15 Como insiro uma linha em branco acima / abaixo da linha atual sem entrar no modo de inserção?

Você pode usar o comando ": put" ex para inserir linhas em branco. Por exemplo, tente

: colocar = ''
: colocar! = ''

Para mais informações, leia

: ajuda: colocar

mas é realmente mais fácil adicionar:

map <Enter> o<ESC>
map <S-Enter> O<ESC>

para o seu .vimrc. Desta forma, você pode pressionar Enterou Shift-Enterem normal modepara inserir uma linha em branco acima ou abaixo da linha atual. Naturalmente substitua <Enter>e <S-Enter>com suas chaves preferidas.


15

Parte do fascínio de usar VIé ter um modo de comando para manipular o texto e um modo de edição para adicionar texto. Isso evita que você precise pressionar CTRL para executar as tarefas.

As outras sugestões podem funcionar - eu não as experimentei -, mas parecem exigir alguns caracteres ou manipular VImuito o ambiente.

Tente usar o[ESC]seguido de um .para cada nova linha que você deseja adicionar ou 5.adicionar 5 linhas. Isso é muito mais rápido e sempre funcionará em qualquer instalação do VI.


11
Você pode usar .a repetição, mas você também pode fazer <number>o<esc>, por exemplo:5o<esc>
bollovan

11
Isso certamente funcionaria. Mas eu gosto de ver como o comando realmente afetará o documento antes que eu o faça várias vezes. Não sei dizer quantas vezes o'danexei um novo parágrafo no VI, apenas para descobrir que o parágrafo bonito era na verdade seis linhas cuidadosamente quebradas / quebradas por palavras.
Glorytoad 6/09/11


1

Isso adicionará uma linha em branco após a linha atual:

:put _ 

Como alternativa, especifique uma linha no início.


0

No Vim 7.3: <number>o<esc>cria apenas uma linha vazia.


Bem, adicionando <esc>você passa novamente do modo de inserção para o modo de comando. Eu acho que ele está procurando uma resposta que não entre no modo de inserção.
10243 Bernhard

Oh! Esqueço de sair do modo de inserção com <esc>. Nesse caso, funcionará. Ele duplicará a linha editada nas seguintes linhas.
Hakim


0

Para inserir uma linha em branco após a linha atual enquanto permanece no modo de comando, use:

: r !echo

Este é o rcomando " ead in a file", mas em vez de atribuir um nome de arquivo, pedimos que leia a saída de um comando shell ( !); esse comando shell echosimplesmente imprime uma linha em branco. Depois que a linha em branco é inserida, você permanece no modo de comando.


-2

Estou surpreso que ninguém mais tenha mencionado isso:

Use 'r' seguido de 'Enter key' no modo de linha de comando.

Tarde para a festa por 7 anos embora :)


11
Exceto que isso o tira do modo de comando e substitui a linha atual por uma em branco.
Jeff Schaller

Não tenho certeza do que @ Jeff está dizendo. Minhas observações sobre esse comando são: (1) ele não funciona se você estiver em uma linha em branco; e (2) caso contrário, ele exclui o caractere sob o cursor.
187 Scott Scott

Eu errei; rde fato, substitui o caractere atual. Ainda leva você ao modo de comando.
Jeff Schaller

Acordado. Esta é uma limitação: deve ser feita em uma linha não vazia + em um espaço em branco antes da linha. Não pensei nisso. Obrigado.
Akhilesh Siddhanti
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.