Como dito no título, não consigo copiar do vim para a área de transferência do sistema. Viceversa funciona, copiar de fora do vim e colar com p
está ok.
Instalei o suporte da área de transferência, a versão vim é 7.3.429:
$ vim --version | grep clip
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+xsmp_interact +xterm_clipboard -xterm_save
Eu tenho:
set clipboard=unnamedplus
no meu .vimrc
e é definido quando eu faço:
set clipboard?
ou
:echo has('clipboard')
Estou usando o Ubuntu 12.04 LTS e o vim por dentro gnome-terminal
(mas também o GVim tem o mesmo problema). Qualquer ideia?
obrigado
clipboard+=unnamedplus
algo na configuração padrão. Mudar paraclipboard=unnamedplus
(por exemplo, remover outras configurações) funcionou para mim.set clipboard+=unnamed
&set clipboard+=unnamedplus
não funciona ao usar y e p para compartilhar a área de transferência do sistema.:set clipboard?
==clipboard=autoselect,exclude:cons\|linux,unnamed,unnamedplus
; Depois que eu removi o primeiro+
, que éset clipboard=unnamed
eset clipboard+=unnamedplus
, e funciona !!:set clipboard?
==clipboard=unnamed,unnamedplus
Respostas:
Isto é o que funciona para mim (Ubuntu 13.10):
Reinstale o vim como vim-gtk:
selecione o que deseja usando o mouse e digite para copiar para a área de transferência :
colar no vim do tipo área de transferência :
Não sei por que, mas comparando a saída de
vim --version
shows, a instalação usual do vim é bastante restrita em comparação com o vim-gtk. A substituição do vim pelo vim-gtk não afetou nenhum plug-in.Outras informações:
fonte
xterm_clipboard
suporte, mas"+p
não funcionam no VIM comum. Em vez de recortar na área de transferência, aumenta a quantidade de linhas selecionadas.vim-gtk
finalmente funcionou para mim na versão 14.04.4, mas eu experimentei as coisas de maneira um pouco diferente das que outros comentavam. Antes devim-gtk
instalar, o vim estava aparecendo-xterm_clipboard
(ou seja, não ativado). Após a instalaçãovim-gtk
, mostra (+ xterm_clipboard). Estou verificando isso comvim --version | grep clip
. Enfim, faz sentido que você precisa+xterm_clipboard
!Deixarei a resposta original abaixo, pois pode ser importante para outras pessoas que pesquisam essa pergunta.
Em suma, não parece haver uma resposta única, mas com 'set clipboard = unnamedplus', um de '* p' ou '+ p' deve funcionar na área de transferência do "sistema".
'* p' é quase certamente o que você deseja. ( daqui )
O vim é um programa cli. Ao usá-lo dentro do gnome-terminal (ou qualquer emulador de terminal), o crtl + c (ou qualquer combinação de teclas) é tratado primeiro pelo emulador de terminal, depois pelo shell e, finalmente, pelo programa (vim neste caso). vim e ctrl + c quase certamente nunca funcionam porque ctrl + c envia um sinal SIGINT para a tarefa em execução. O vim usa o SIGINT para interromper outras coisas, como interromper o modo de inserção ou interromper as funções de pesquisa.
Em outras palavras. Ctrl + C nunca é realmente passado para o VIM. SIGINT é passado para o VIM. O SIGINT tem outros usos no vim, portanto, o uso de copiar provavelmente não funcionará (e mesmo que você possa forçá-lo, não é uma boa idéia).
Em vez disso, tente usar as teclas Ctrl + Shift + C e Ctrl + Shift + V (existem outras, mas acredito que elas colocam texto na área de transferência do sistema)
Para ser justo, não sei muito sobre o gvim.
fonte
ctrl-c
vim exterior eo colar comp
, mas no vim Eu sei que eu tenho que usary
.. Vou editar a minha perguntaUse no seu vimrc:
Isso permitirá que você selecione e copie manualmente com o mouse.
fonte
Além da resposta aceita , se você estiver trabalhando remotamente por SSH (por exemplo,
tmux
com vários painéis com diferentesvim
processos nos quais deseja copiar), também precisará exportar sua exibição do X, poisvim
está usandoxterm-clipboard
a interface entre diferentes processos. Você pode definir a exibição X executandoIsso deve ser executado antes do
vim
lançamento e em qualquer outro shell que você tenha.fonte
Eu encontrei no Ubuntu 16.04 que preciso
vim-gui-common
instalar"+y
para funcionar.fonte