2010-12-30 17:05:25 +0000 2010-12-30 17:05:25 +0000
205
205

Como posso seleccionar todo o texto no Vi/Vim?

Utilizando a ferramenta VI para editar ficheiros de configuração.

Como posso seleccionar todo o texto num ficheiro (cerca de 1000 linhas), copiá-lo e depois colá-lo no Google Docs?

Respostas (12)

169
169
169
2012-03-26 21:30:22 +0000

A forma mais simples e rápida é utilizar: : : % y + e depois ir ao Google Docs (ou onde quer que seja) e colar. Explicação:

  • % para referir o próximo comando para trabalhar em todas as linhas
  • y  para puxar essas linhas
  • +  para copiar para a prancheta do sistema

Outra maneira é g “ + y G mas é provável que admita que o acima descrito é mais rápido e fácil.

106
106
106
2014-05-29 15:09:52 +0000

Muitos deram respostas também yank a seleção, que eu não estava procurando.

Eu estou usando ggVG para este fim (precisa ser executado em modo normal). Este comando only seleciona todo o texto dentro do documento.

Eu até refiz o Ctrl+A para este propósito, já que não preciso realmente incrementar um número inteiro com o atalho (padrão Ctrl+A map).

Basta adicionar isto no seu .vimrc:

map <C-a> <esc>ggVG<CR>

Primeiro o <esc>, para ter certeza de que o usuário está em modo normal.

41
41
41
2010-12-30 17:21:23 +0000

Pode usar o cat file e depois seleccionar output e copiar e colar se precisar de o colar no seu browser.

Para o vi é assim que pode seleccionar todo o texto e escrevê-lo num novo ficheiro:

shift v -- visual mode
shift g -- jump to eof
"*y -- yank select text
:e my_new_file -- create a new file
"*p -- paste into a new file

Em teoria isto deve funcionar tanto no Linux como no Windows - experimentei num Mac mas não funciona.

17
17
17
2014-12-29 12:47:54 +0000

UTILIZAR ggVG. tipo “gg” para ir para o topo do teste Depois, tipo VG.

9
9
9
2017-07-17 04:07:33 +0000

Estou a utilizar a Vim 7.4 no ambiente CentOS-7. O que me fez seleccionar todo o texto foi

:%y

Depois só p no próximo ficheiro onde quero uma cópia completa.

Or

Pode usar o comando cat.

cat copyfile > pastefile Este repo também tem alguns outros comandos úteis.

7
7
7
2010-12-30 19:19:29 +0000

gg"+yG

ou

gg"*yG

dependendo se + ou * é a prancheta do sistema. (Em muitos unixes, + é o buffer de selecção do rato para o clique do meio do rato, e * é a área de transferência do sistema).

3
3
3
2015-01-08 19:05:10 +0000

Para um Mac, use pbcopy (pasteboard copy):

cat file.txt | pbcopy

O conteúdo de file.txt está agora na área de transferência para colar noutra aplicação (ex. browser).

Também pode colar o conteúdo da área de transferência num ficheiro usando pbpaste:

pbpaste > file.txt

Embora isto não envolva especificamente o vi, atinge o mesmo objectivo num Mac.

1
1
1
2010-12-30 17:28:07 +0000

Se estiver a utilizar uma área de trabalho linux, pode carregá-la para a área de transferência utilizando xclip ou xsel. Para algo desse tamanho você pode querer apenas usar a função de upload no google docs.

1
1
1
2013-07-12 14:20:22 +0000

Outra forma seria:

Prima a tecla v no seu teclado e rode o VIM para VISUAL

Depois, seleccione todo o texto, rolar para baixo

^+ INSERIR para copiar

SHIFT +INSERT para colar o texto onde quiser no Google Docs.

0
0
0
2010-12-30 17:34:56 +0000

Sem utilizar o vi, pode carregar texto para o Google Docs utilizando a sua API e cURL .

0
0
0
2010-12-30 17:38:44 +0000

Ver http://vim.wikia.com/wiki/Accessing_the_system_clipboard para opções sobre como fazer isto. (se compilado em “* deve referir-se à prancheta do sistema). Há também instruções sobre como usar xsel com vim.

0
0
0
2014-08-19 07:27:45 +0000

Utilize o seguinte comando.

cat <your file name>

Faz eco ao conteúdo do ficheiro. Agora seleccione, role, copie, cole. Game Over

Ex.:

cat bobis.txt