Как выделить весь текст в Vi / Vim?

использование инструмента VI для редактирования конфигурационных файлов.

Как я могу выбрать весь текст в файле (около 1000 строк), скопировать его, а затем вставить в Google Docs?

156
задан Tarun Gupta 2010-12-30 20:05:25
источник

12 ответов

самый простой и быстрый способ-это использовать: : % y + , а затем перейти к Google Docs (или где) и вставить. Пояснение:

  • % сослаться на следующую команду для работы со всеми строками
  • y дергать эти строки
  • + копировать в системный буфер обмена

другой способ -g g " + y G но вы, вероятно, признать, что выше быстрее и проще.

131
отвечен Tuxmentat 2016-04-12 22:55:52
источник

многие дали ответы также дергать выбор, который я не искал.

Я использую ggVG для этой цели (нужно побежаться на нормальном режиме). Это команда только выделяет весь текст в документе.

Я даже переназначен Ctrl+A для этой цели, так как мне действительно не нужно увеличивать целое число с помощью ярлыка (по умолчанию Ctrl+A карта).

как раз добавьте это в ваше .vimrc:

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

Это <esc> во-первых, чтобы убедиться, что пользователь находится в нормальном режиме.

73
отвечен Arda 2014-05-29 19:09:52
источник

можно использовать cat file, а затем выберите output, скопируйте и вставьте, если вам нужно вставить его в свой браузер.

для vi так можно выделить весь текст и записать его в новый файл:

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

теоретически это должно работать как на Linux, так и на Windows - я пробовал его на Mac, но он не работает.

36
отвечен silviud 2011-06-14 11:10:20
источник

использовать ggVG. введите "gg", чтобы перейти в верхней части теста Затем введите VG.

13
отвечен user402791 2014-12-29 15:47:54
источник

gg"+yG

или

gg"*yG

в зависимости от того, является ли + или * системным буфером обмена. (На многих униксах + - буфер выбора мыши для щелчка средней кнопкой мыши, а * - системный буфер обмена).

6
отвечен frabjous 2010-12-30 22:19:29
источник

Я использую Vim 7.4 в среде CentOS-7. Который работал меня для выбора всего текста

:%y

потом просто p в следующем файле, где я хочу полную копию.

или

вы можете использовать команду cat.

cat copyfile > pastefile

это git repo есть и другие полезные команды.

4
отвечен Sachith 2017-08-16 12:33:40
источник

для Mac используйте pbcopy (pasteboard copy):

cat file.txt | pbcopy

содержимое файла.тхт сейчас в буфере обмена для вставки в другое приложение (например, браузер).

вы также можете вставить содержимое буфера обмена в файл с помощью pbpaste:

pbpaste > file.txt

в то время как это не связано с vi конкретно он достигает той же цели на Mac.

3
отвечен Chris 2015-01-08 22:31:03
источник

Если вы используете рабочий стол linux, вы можете загрузить его в буфер обмена с помощью xclip или xsel. Для чего-то такого размера вы можете просто использовать функцию загрузки в Google docs.

1
отвечен Cakemox 2010-12-30 20:28:07
источник

еще один способ:

нажать v ключ на клавиатуре и превратить VIM в VISUAL

затем выделите весь текст прокруткой вниз

^+ вставить скопировать

SHIFT +вставить, чтобы вставить текст, где вы хотите на Google Docs.

1
отвечен user237678 2013-07-12 19:44:09
источник

см.http://vim.wikia.com/wiki/Accessing_the_system_clipboard для опций о том, как это сделать. (если скомпилирован в"*, должен ссылаться на системный буфер обмена). Есть также инструкции по использованию xsel с vim.

0
отвечен kasterma 2010-12-30 20:38:44
источник

используйте следующую команду.

cat <your file name>

он будет повторять содержимое файла. Теперь выберите, прокрутите, скопируйте, вставьте.

Игры

Ex.:

cat bobis.txt
0
отвечен user359247 2014-08-19 20:31:42
источник

Другие вопросы shell vi

X