É possível impedir o kill-ring
armazenamento de espaços em branco / linhas vazias? Agora, depois de fazer algumas alterações e depois ir para browse-kill-ring
, geralmente vejo algo assim:
-------
-------
merchant_uuid: "some_uuid"
-------
it "creates a webhook" do
-------
-------
-------
Existe uma maneira de forçar o kill-ring a acrescentar apenas conteúdo significativo?
helm-show-kill-ring
e parece filtrar as entradas do anel de morte em branco. Ainda posso arrancar um monte de espaços em branco, então +1 para a pergunta.kill-do-not-save-duplicates
, o que impede akill-new
adição da mesma coisa ao anel de morte duas vezes seguidas.Respostas:
Aqui está uma abordagem para lidar com mortes em branco (ou seja, apenas em branco). Em vez de filtrá-los completamente, isso permitirá, no máximo, uma entrada em branco no anel de morte. Cada nova morte checa a cabeça do anel de morte e a substitui se estiver em branco.
Observe que estou usando o mecanismo de aconselhamento do Emacs 24.4+ aqui para filtrar os argumentos que acabam sendo transmitidos
kill-new
.O efeito é que você ainda pode matar e puxar vários espaços em branco, mas se você matar algum espaço em branco e depois matar outra coisa, a entrada de espaço em branco será descartada.
fonte
kill
,kill-ring-save
etc. Se você possui comandos que são adicionados ao anel de interrupção sem chamar,kill-new
então não funcionará, é claro.Um problema é que qualquer comando pode modificar o
kill-ring
modo que o único gancho poderoso o suficiente para fazer isso é opost-command-hook
. Isso é ineficiente, mas o AFAIK é a única maneira de fazer isso com rigor. Se isso lhe parece bom, você pode fazer o seguinte:Por uma questão de eficiência, presumo que todos os comandos sejam anexados a
kill-ring
, isso provavelmente é seguro, mas observe que uma função pode inserir texto em qualquer lugar que desejarkill-ring
. Isso é raro, porém, e tenho certeza que você não deseja repetir todo o anel de morte em todos os comandos.fonte