Eu estava tentando copiar e colar algo do vim para outro aplicativo e, também, desse aplicativo para vim
usar o botão direito do mouse e depois copiar e colar (ou com Ctrl+ ve Ctrl+ ce também tentei a Commandversão para o Mac OSX, obviamente). No entanto, quando tento fazê-lo, ele copia apenas a primeira palavra quando o faço vim
ou copio do aplicativo para vim
, copia tudo, mas insere guias e espaços estranhos. Acho que isso aconteceu quando decidi colocar o mouse no terminal. Como em:
:set mouse=a
Eu tenho essa linha no meu .vimrc
arquivo no iTerm (mac os x). No entanto, é possível fazer minha cópia colar com outros aplicativos que não estão presentes para vim
não romper com o mouse=a
on? Ou pelo menos é possível desligar o mouse enquanto faço a cópia e colar? Eu fiz o :help
mouse, mas os comentários não foram úteis para mim. Gostaria de colá-los aqui, mas ... minha ferramenta de copiar e colar está quebrada!
Eu tentei :set mouse!
e :set mouse=a!
mas estes fez nada de útil ... :(
Informações adicionais do meu ambiente:
Também estou usando o tmux na maioria das vezes, porém, testei esse erro / bug sem uma sessão do tmux, por isso postei isso principalmente como uma pergunta do vim.
vim
é capaz de puxar para a Seleção Principal muito bem usando oy
verbo. Não sei por que você não usaria isso.Respostas:
mouse=a
impede a capacidade de copiar e colar fora do vim com caracteres legíveis.Mude
mouse=a
paramouse=r
e isso deve corrigir seu problema com isso.Uma coisa que me pergunto é: você está alterando o arquivo de configuração do seu vim com o mouse definido como mouse = a?
resposta original ^
Se
mouse=r
não fornecer todas as opções de cópia anterior, altere-o paramouse=v
Ambos
mouse=r
emouse=v
têm as mesmas funções que você precisa, mas dependendo do vimrc que você está usando, um funcionará melhor que o outro.fonte
one thing I am wondering is, are you changing the config file for your vim with the mouse set to mouse=a?
quer dizer, se eu estiver:mouse=a
no meu arquivo .vimrc? Eu tenho:mouse=a
no meu arquivo .vimrc.--with-x=yes
? Eu não preciso colocar:set --with-x=yes mouse=a
ou algo assim? Você poderia esclarecer o que quer dizer?--with-x=yes
aset mouse=a
. Quando eu estava lendo tudo o que eu vi foi por si só no arquivo de configuração. Mas pode ser diferente, então quero ter certeza de que digo a coisa certa que funcionará para você.Para usuários do OS X: Para copiar e colar,
mouse=a
use em altvez de Shiftselecionar o texto. Em seguida, cmd-ce cmd-vfuncionam como esperado.Encontre esta resposta aqui https://stackoverflow.com/a/4608387/671639, depois de pesquisar bastante.
fonte
De https://stackoverflow.com/questions/4608161/copy-text-out-of-vim-with-set-mouse-a-enabled/4608387
Pressione a tecla 'shift' enquanto seleciona com o mouse. Isso fará com que a seleção do mouse se comporte como se mouse = a não estivesse ativado.
Isso funciona e foi verificado pelos revisores do estouro de pilha que aceitaram isso como resposta :)
fonte
A solução de Bharath , pressionada Shiftdurante a cópia, fará isso, mas copiará mais do que você gostaria de copiar no caso de numeração ou comentários de hash.
Uma maneira de fazer isso, mesmo com mouse = a, é usar o modo visual pressionando o Vcursor único ou Shift+ Vpara destacar a linha completa, e você pode mover para cima ou para baixo com as setas e Ycopiar ou Dcortar, e isso deve funcionar.
fonte
Tinha o mesmo problema: não era possível destacar o uso do mouse, portanto, não era possível copiar e colar do VIM em uma sessão de terminal no documento e no navegador do Windows: Fez o seguinte e agora funciona:
fonte
Consulte: http://vimdoc.sourceforge.net/htmldoc/options.html
Veja a seção Nota na parte inferior da referência:
Ao ativar o mouse, os botões do mouse ainda podem ser usados mantendo a tecla Shift pressionada. Isso inclui copiar e colar usando os botões do mouse.
fonte
Quanto à segunda parte da sua pergunta, onde você especificou que ao colar de outros aplicativos no vim, ele adiciona guias / espaços. Tente adicionar isso ao seu ~ / .vimrc set paste ou no vim antes de colar no modo normal, pressione "shift" + ":" e digite "set paste"
fonte
Você pode usar ypara copiar (puxar) e pcolar mesmo com a
:set mouse=a
configuração~/.vimrc
. Use v+arrow keys
para destacar o texto. Para copiar uma linha inteira rapidamente, use shift+ y.fonte
No meu Mac, o que ajudou foram essas duas coisas:
fonte
Use estas duas linhas abaixo
~/.vimrc
para usar todos os recursos interessantes degui-mouse
e cole na área de transferência do sistema usandoy
(tecla yank) se você realmente não precisar de nenhum buffer adicional da área de transferência:fonte