Existe alguma maneira de deletar algo no Vim sem movê-lo para um registrador?

5

Frequentemente, quero excluir algo no Vim sem movê-lo para um registrador. Existe um método de fazer isso? Eu acho que ter que especificar explicitamente o registro "a para ser um pouco muito, por vezes.

    
por Evan Carroll 30.07.2012 / 19:11

2 respostas

6

Parece que você está fazendo duas perguntas relacionadas aqui:

  1. Você deseja excluir o texto sem que ele apareça em nenhum registro
  2. Você deseja poder especificar um registro padrão diferente de "

O primeiro pode ser feito, basta usar o _ register, que é chamado de "black hole" register, em vez de algo como o a register. Por exemplo: "_dd

O segundo não pode ser feito, até onde eu sei.

Veja :help registers .

    
por 30.07.2012 / 19:29
1

Você sempre pode fazer algo assim:

nnoremap d "_d
vnoremap d "_d

Mas eu não recomendaria: o padrão do Vim deve continuar do jeito que está.

Em vez de "_d , eu uso esses mapeamentos para excluir no registro do buraco negro:

nnoremap <leader>d "_d
vnoremap <leader>d "_d

Isso é apenas menor por uma chave, mas é melhor do que sobrescrever um padrão do Vim.

Eu uso esse mapeamento quando preciso colar algo várias vezes:

vnoremap <leader>p "_dP

Qual é o seguinte:

10 yank something
20 select something else
30 paste over it
40 GOTO 20
    
por 30.07.2012 / 21:06

Tags