Vim: insira linha vazia acima da linha atual (não aberta, ou seja, sem entrar no modo de inserção)

20

Existe uma maneira de inserir uma nova linha acima da atual, sem abrir a linha (sem inserir o modo de inserção)? Ou seja, como "O", mas sem abrir.

    
por tmadsen 01.06.2010 / 20:16

5 respostas

8

Eu uso o não estimado do Tim Pope, que tem um comando especificamente para esse propósito:

[<space>

E se você quiser adicionar um espaço depois da linha em que você está:

]<space>

    
por 10.07.2013 / 00:31
27

A definição do seu pedido é O .

Logicamente, ao inserir uma nova linha acima, seria O .

Para inserir antes do cursor: i
Depois: a
Antes da linha (home): I
Anexar no final da linha: A

O mais próximo que eu acho que você virá é I , que colocará o cursor no começo da linha.

    
por 01.06.2010 / 20:38
9
:h append()

Ele não moverá o cursor, ele permitirá que você insira quantas linhas (vazias ou não) desejar e não modificará a marca de posição anterior.

call append(line('.')-1, '')
    
por 02.06.2010 / 01:37
5

Você pode mapear qualquer tecla ou sequência de teclas que desejar para

m'O<ESC>''

isso insere uma linha em branco acima da atual, mantendo você no modo normal e sem alterar a posição do cursor.

    
por 01.06.2010 / 21:27
2
:nmap <CR>_i<CR><ESC>
    
por 01.06.2010 / 21:46

Tags