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

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

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

24
задан Tarun Gupta
23.11.2022 12:23 Количество просмотров материала 2852
Распечатать страницу

12 ответов

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

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

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

131
отвечен Tuxmentat 2022-11-24 20:11

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

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

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

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

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

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

73
отвечен Arda 2022-11-24 22:28

можно использовать 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 2022-11-25 00:45

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

13
отвечен user402791 2022-11-25 03:02

gg"+yG

или

gg"*yG

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

6
отвечен frabjous 2022-11-25 05:19

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

:%y

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

или

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

cat copyfile > pastefile

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

4
отвечен Sachith 2022-11-25 07:36

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

cat file.txt | pbcopy

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

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

pbpaste > file.txt

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

3
отвечен Chris 2022-11-25 09:53

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

1
отвечен Cakemox 2022-11-25 12:10

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

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

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

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

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

1
отвечен user237678 2022-11-25 14:27
0
отвечен petrus 2022-11-25 16:44

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

0
отвечен kasterma 2022-11-25 19:01

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

cat <your file name>

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

Игры

Ex.:

cat bobis.txt
0
отвечен user359247 2022-11-25 21:18

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх