Cópia / colagem do Vimperator

23

Estou experimentando o Vimperator . Eu queria principalmente para a rolagem hjkl, e eu gosto de seu sistema "dica" para seguir os links. Esses dois recursos são realmente tudo que eu preciso; Eu acho.

Eu não me importo com os outros recursos, só às vezes atrapalha.

O que mais me irrita é copiar / colar. Estou acostumado a Ctrl + c / Ctrl + v , não me importo de usar outro atalho, mas ..

:help yank indica que copiar o texto selecionado é feito com Y, mas o único método mencionado para colar é o botão do meio do mouse!

Isso é tão ridiculamente contra o espírito do Vim!

Como posso colar no Vimperator sem usar o mouse?

    
por hasen 25.07.2009 / 05:39

8 respostas

15

A melhor e mais fácil coisa que você pode fazer é remapear as chaves. Não é díficil. Coloque isso no seu _vimperatorrc (ou .vimperatorrc no Linux)

noremap <C-c> <C-v><C-c>
noremap <C-v> <C-v><C-v>
Por padrão,

<C-v> é mapeado para o modo "Aproximar", o que significa que a próxima tecla pressionada é enviada diretamente para o Firefox, sem ser processada e consumida pelo vimperator. Assim, os mapeamentos acima apenas ativam o modo "Passar próximo" e enviam o respectivo atalho.

Existe até um plug-in do vimperator que amplia ainda mais e remapeia todos os atalhos comuns do Windows , para que eles se comportem como esperado.

    
por 31.07.2009 / 09:26
36

Surpreende-me que não houvesse uma resposta mais precisa dada a esta pergunta. O link do plugin da resposta escolhida resolveu o problema do OP, mas ninguém realmente explicou como colar algo em um campo de texto sem usar o modo de passagem (C-v).

Se você está em um campo de texto no modo INSERT e gostaria de colar algo, a coisa óbvia a fazer no vi-land é pressionar ESC e p para colar. No vimperator, isso não funciona - ESC leva você para fora do modo INSERT completamente e para o modo em que você trabalha com a página / guia como um todo.

O Vimperator resolve isso com um modo BASIC adicional - TEXTAREA. Quando no modo TEXTAREA, você pode usar os comandos suportados que você usaria no vi.

Enter TEXTAREA mode: C-t
Paste:    p
Copy line:    yy
Delete Char:  x
Delete Line:  dd

Etc.

Isso não parece estar bem documentado - acabei descobrindo isso principalmente por engano. Funciona da mesma forma em caixas de texto multilinhas e de linha única.

    
por 21.01.2010 / 18:13
13

Neste momento, o vimperator remapeia ambos Ctrl + C (de 'copy' para 'cancel') e  Ctrl + V (de 'cole' para 'pass-through'). No Linux, o preferido  método de copiar / colar é com o botão do meio do mouse, então isso não é um  problema. No Windows, esse é um desastre na interface do usuário e  precisa ser corrigido.

Existem três lugares dos quais você pode copiar: texto de uma página da Web, texto  de um campo de formulário e texto de um aplicativo externo. tem  dois lugares para os quais você pode copiar: em um campo de formulário e em um  aplicação. As barras de endereços e comandos funcionam como campos de formulário.

Copying from...
     A web page: 'Y' works, '^C' doesn't
     Form field: 'Y' doesn't work, '^C' does
     Extern application: 'Y' doesn't work, '^C' does
  Copying to...
     Form field: '^V' doesn't work, '^V,^V' does
     External application: '^V' works, '^V,^V' pastes twice
 Or, seen another way
       Copy  Paste
 Page  Y     N/A
 Form  ^C    ^V,^V
 App   ^C    ^V

Usuários comuns não memorizam essa tabela. Eles nunca descobrirão  porque não é documentado explicitamente, e eles não o leiam mesmo  Se fosse. Em vez disso, eles usarão o menu do botão direito, a única coisa  isso funciona em todos os lugares. Na verdade, algumas semanas depois de começar a usar  Vimperator, eu me peguei fazendo exatamente isso, em uma relação completamente diferente  aplicação, algo que eu nunca tinha feito antes.

Precisamos restaurar ^ C e ^ V para suas funções originais e legítimas como  copiar e colar, o que significa deslocar o ^ C = cancelar e  ^ V = teclas de atalho de passagem. De fato, ambas as teclas de atalho são exclusivas  vimperator e não aparecem no vim. ^ V significa 'bloco visual' no vim,  que não se aplica no vimperator, então a passagem pode ser facilmente  atribuído a alguma outra chave. Eu sugiro barra invertida no modo de comando e  ctrl + barra invertida nos modos de comando e inserção. Isso deixa ^ C. Eu  acho que deveria ser movido para ^ S. Isso tem dois bons mnemônicos: é  'stop', e também é a tecla de atalho Unix para XOFF, que é inútil, mas  semanticamente similar. ^ S está atualmente "salvar página como" no vimperator,  que raramente é usado e ainda pode ser acessado com: save ou: saveas.

Desfazer também está quebrado; era ^ Z, mas ^ Z não é modo de passagem e  não há como desfazer edições em um campo de formulário sem usar o mouse.  Não vejo razão para não mudar isso para outra tecla de atalho, especialmente desde  ^ Z em vim significa suspender, o que é completamente não relacionado, e  inesperadamente encontrando-se no modo de passagem é extremamente  desorientador. Não consigo pensar em uma tecla de atalho não arbitrária para mudar isso  para, mas ^ Z foi bastante arbitrário em primeiro lugar, então qualquer não utilizado  atalho vai fazer.

Soruce: link

    
por 29.07.2009 / 15:24
2

Estou procurando uma maneira de fazer isso por um tempo. Agradável. Mas a solução noremap do user4126 não era perfeita se eu quisesse colar na linha de comando ou em uma caixa de texto, como Joe aponta. Então, eu ajustei o inoremap e o cnoremap também no link . Não parece que o vnoremap seja suportado.

Assim, você pode colar na linha de comando e nas caixas de texto usando o atalho ctrl-v apenas uma vez. Cole o seguinte no seu .vimperatorrc e reinicie o Firefox.

noremap <C-v> <C-v><C-v>
inoremap <C-v> <C-v><C-v>
cnoremap <C-v> <C-v><C-v>

noremap <C-c> <C-v><C-c>
inoremap <C-c> <C-v><C-c>
cnoremap <C-c> <C-v><C-c>
    
por 04.01.2011 / 17:27
2

Eu não achei as respostas úteis porque não consigo ver Ctrl + c em qualquer lugar. O que eu faço é usar o atalho do SecureCRT. Ou seja, para copiar da página:

Ctrl + Ins

Para colar: Ctrl + V duas vezes (como alguém diz nas respostas em outro lugar).

    
por 15.03.2010 / 21:04
1

Tente o seguinte, se preferir ter uma experiência sem mous, do que uma experiência completa com o vim:

por 29.07.2009 / 16:57
1

Para uma resposta curta - ^ V ^ V (isto é, Ctrl-V Ctrl-V)

O primeiro Ctrl-V faz "a próxima passagem de tecla". O segundo Ctrl-V cola o texto. Isso é o que eu faço para a maioria dos campos de texto.

Se você usar o modo vi para campos de texto de múltiplas linhas (set noinsertmode), você também pode colar usando p - então se eu quiser colar o URL de outra guia nessa tag eu posso ir para essa aba, usar y volte para esta guia. A barra inferior do navegador dirá - TEXTAREA - e eu posso pressionar p para colar na URL.

    
por 30.07.2009 / 16:34
0

Eu sugiro usar o

map <C-c> <C-v><C-c>
noremap <C-v> <C-v><C-v>

Porque se você abriu um editor de texto externo, uma simples janela C-c no FF irá finalizar o editor externo e você perderá tudo.

BR

    
por 26.03.2015 / 15:38