Por que não pode copiar para o windows 7 para o VIM?

1

Quais seriam os comandos para poder fazer CTRL + V no gVim?

No OS X, posso copiar texto para o vim, mas no Windows não estou conseguindo.

    
por Anderson Juhasc 04.12.2011 / 23:02

4 respostas

2

Eu recomendaria um dos procedimentos a seguir, em vez de configurar atalhos personalizados:

  1. Cole do registro:

    "+++p

  2. Cole usando o botão do meio do mouse

  3. Cole usando o menu de contexto

EDITAR:

De acordo com esta resposta, talvez seja necessário que a área de transferência seja definida como não nomeada para que a registradora cole no trabalho.

set clipboard=unnamed

    
por 05.12.2011 / 16:01
2

Na vim documentação :

mswin.vim

To use the standard MS-Windows way of CTRL-X, CTRL-C and CTRL-V, use the $VIMRUNTIME/mswin.vim script. You could add this line to your _vimrc file: source $VIMRUNTIME/mswin.vim

    
por 04.12.2011 / 23:07
2

Enquanto você pode configurar atalhos de teclado, como Otiel sugere, acho que pode ser mais útil entender como copiar e colar funciona no Vim e aprender o que esses comandos realmente significam.

Os comandos cortar, copiar e colar no Vim ( d , y e p ) funcionam com os chamados registradores que mantêm o texto cortado ou copiado. Por padrão, eles usam o registro sem nome "" , enquanto a área de transferência do sistema é o "+ register.

Você pode prefixar comandos com um registro para aquele. Portanto, para copiar do Vim para o Windows, use "+y e, para colar no Windows, use "+p .

Você também tem 26 registradores chamados "a to "z , que você pode usar para o que quiser. Isso pode ser muito útil ao realizar operações complexas de edição.

Existem mais registros especiais, para mais informações, consulte :help registers .

    
por 04.12.2011 / 23:28
0

Adicione o seguinte no seu arquivo vimrc (deve estar localizado em C:\Program Files\Vim\_vimrc ):

" CTRL-X = cut
vnoremap <C-X> "+x
" CTRL-C = copy
vnoremap <C-C> "+y
" CTRL-V = paste
map <C-V> "+gP
cmap <C-V> <C-R>+
exe 'inoremap <script> <C-V>' paste#paste_cmd['i']
exe 'vnoremap <script> <C-V>' paste#paste_cmd['v']
imap <S-Insert> <C-V>
vmap <S-Insert> <C-V>

Ou use o comando p no vim para colar o conteúdo da área de transferência.

    
por 04.12.2011 / 23:06

Tags