Tentei usar Ctrl+ Vpara colar o conteúdo em um documento do editor vi, mas Ctrl+ Vnão é interpretado como uma pasta.
Tentei usar Ctrl+ Vpara colar o conteúdo em um documento do editor vi, mas Ctrl+ Vnão é interpretado como uma pasta.
Respostas:
Primeiro, verifique se você está no modo de edição (pressione i). Em seguida, você pode colar com Ctrl+ Shift+ V, se estiver em um emulador de terminal como gnome-terminal(ou selecione "Colar" no menu do botão direito do mouse).
Você também pode digitar o :set pastevim antes de colar para desativar o recuo automático etc. Depois de :set nopastecolar o conteúdo.
Verifique também esta pergunta no stackoverflow.com para obter mais informações.
Se você deseja copiar / colar linhas vim(em vez de colar o conteúdo da área de transferência), verifique o comando yank . Aqui está uma folha de dicas que pode ajudar.
Imaiúsculas de minúsculas. A minúscula ié a maneira normal de entrar no modo de inserção. Capital Icoloca o cursor no início da linha e entra no modo de inserção.
O Vi (e o Vim) funciona de maneira muito diferente em comparação com um editor de texto normal, como o Gedit. Ele também tem uma curva de aprendizado bastante acentuada. Se você quiser aprender alguns comandos básicos, comece com este tutorial interativo .
No entanto, para responder à sua pergunta. O conteúdo da área de transferência do sistema pode ser acessado através do registro positivo. Portanto, para colar algo da área de transferência do sistema, você pode, no modo Normal, pressionar: "+p(Não ao mesmo tempo, mas um após o outro).
vinão usovim
set :paste).
Se você deseja copiar e colar o conteúdo dentro do mesmo arquivo , use yanke paste.
Se você deseja copiar o conteúdo da pasta entre os terminais , abra o primeiro arquivo, puxando o texto desejado, abra o segundo arquivo no vim (por exemplo :tabnew /path/to/second/file) e pressione ppara colá-lo.
Se você deseja copiar o conteúdo da pasta do vim para um programa externo , é necessário acessar a área de transferência do sistema. Eu suponho que você use o Ubuntu. A versão da GUI do vim sempre tem suporte à área de transferência; no entanto, se você gosta de usar o Vim em um terminal, precisará verificar o suporte à área de transferência do X11.
No console, digite:
$ vim --version | grep xterm
Se você encontrar -xterm_clipboard , terá duas opções:
1) Compile o vim você mesmo, com o sinalizador xterm_clipboard no
2) Desinstale o vim, instale o gvim (vim-gtk ou vim-gnome). Você pode usar o vim não gui chamando o vim a partir do terminal, da mesma maneira que fazia antes. Desta vez, quando você verificar, deverá encontrar + xterm_clipborad .
Agora, quando você puxa algum texto no registro + dentro do seu editor vim (por exemplo, "+ yy), ele também é copiado para a área de transferência do sistema, que você pode recuperar do seu programa externo, como o editor do gedit, usando Ctrl+ V.
Se você deseja copiar o conteúdo da pasta de um programa externo para o vim , copie primeiro o texto na área de transferência do sistema via Ctrl+ e C, no modo de inserção do editor do vim , clique no botão do meio do mouse (geralmente a roda) ou pressione Ctrl+ Shift+ Vpara colar.
Estas são 4 condições básicas de copiar e colar relacionadas ao vim. Eu espero que isso ajude.
vim-gtktem xterm_clipboardsuporte e no Fedora xvimtem.
Eu sempre uso Shift+ Insertquando quero colar texto no terminal, funciona em todos os programas do terminal.
(Essa também é a razão pela qual nunca consigo um laptop onde você não pode pressionar Insertsem pressionar uma tecla secundária)
Vi/ Vim! = terminal;)
Ctrl+A, Ctrl+Ctambém?
Use o botão central do mouse para inserir o texto que você destacou em outro lugar.
É útil quando você não tem acesso à área de transferência do sistema (por exemplo, em uma sessão SSH remota).
Deve estar no modo de edição / inserção do Vim.
Depois de inserir o vi, pressione ipara entrar no modo de inserção, clique com o botão direito do mouse no terminal, clique em colar.
i. O que maiúsculas Ifazem?
i. Maiúsculas Imove o cursor para o início da linha antes de entrar no modo de inserção, o que não é necessário aqui.
Instruções detalhadas para copiar / colar linhas de texto no vi usando yankeput
(use o seguinte no modo de comando do vi)
Copiar (YANK)
Para copiar uma linha no vi:
yyou digiteYPara copiar 2 linhas no vi:
2yyou digite2Y(da mesma forma, qualquer número de linhas pode ser copiado)
Para copiar todas as linhas do local atual para o final do arquivo:
yGPara copiar todo o texto do local atual até o final da palavra atual:
ywPara copiar todo o texto do local atual para o final da linha:
y$Colar (PUT)
Para colar texto na área de transferência - após a localização do cursor:
pPara colar texto na área de transferência - antes da localização do cursor:
PEu tive um problema, porque minha instalação do Vim não suportava a área de transferência :
vim --version | grep clip
-clipboard +insert_expand +path_extra +user_commands
+emacs_tags -mouseshape +startuptime -xterm_clipboard
Instalei o vim-gnome (que suporta a área de transferência) e verifiquei novamente:
vim --version | grep clipboard
+clipboard +insert_expand +path_extra +user_commands
+emacs_tags +mouseshape +startuptime +xterm_clipboard
Agora eu posso copiar e colar usando "+ ye" + p, respectivamente.
Com o Vim 8+ no Linux ou Mac, agora você pode simplesmente usar a pasta nativa do SO ( ctrl+shift+Vno Linux, cmd+Vno Mac). Não pressione ipara inserir o modo.
Ele colará o conteúdo da área de transferência do sistema operacional, preservando os espaços e as guias sem adicionar a inserção automática. É equivalente ao velho :set paste, i, ctrl+shift+V, esc, :set nopastemétodo.
Você nem precisa mais dos recursos +clipboardou do +xterm_clipboardvim instalados. Esse recurso é chamado de "pasta entre colchetes". Para obter mais detalhes, consulte https://stackoverflow.com/questions/2514445/turning-off-auto-indent-when-pasting-text-into-vim/56781763#56781763
Se você é root : Ctrl+ Shift+V
Se você não é root : Center, clique com o mouse.
Eu só queria observar que, usando o Vim via Git Bash no Windows, você pode simplesmente usar pou clicar com o botão central do mouse sem estar no modo de inserção. Usando o Vim através do PuTTY , você pode clicar com o botão direito. E o destaque é a cópia.
Eu notei isso porque cheguei aqui sem ver que este é o SE para Ubuntu.
Outros comandos úteis:
Você pode usar Ctrl+ Shift+ Vpara colar na versão terminal vim, mas para a versão GUI do vim Neovim-Qt, colar o texto da área de transferência do sistema com Ctrl+ Shift+ Vsimplesmente não funcionará. Você precisa acessar a área de transferência "+ou "*o editor vim.
A adição de uma nova combinação de teclas .vimrcirá simplesmente copiar / colar os comandos:
" paste from system clipboard, align indentation with surroundings
noremap <Leader>p "*]p:set nopaste<CR>
" copy a sentence into system clipboard
noremap <Leader>y "+y)
vimtutorEle o levará até a velocidade em que é utilizável em cerca de 45 minutos.