it-swarm.xyz

Как выбрать весь текст в Vi/Vim?

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

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

174
Daniel t.

Самый простой и быстрый способ - использовать: :%y+ а затем перейдите в Google Docs (или где-нибудь) и вставьте. Объяснение:

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

Другой способ gg"+yG но вы, вероятно, признаете, что все вышеперечисленное быстрее и проще.

147
Tuxmentat

Многие из приведенных ответов также дергают выбор, который я не искал.

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

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

Просто добавьте это в свой .vimrc:

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

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

86
Arda

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

Для 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, но это не работает.

39
silviud

ИСПОЛЬЗОВАТЬ ggVG. введите "gg", чтобы перейти к началу теста. Затем введите VG.

15
user402791

gg"+yG

или же

gg"*yG

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

7
frabjous

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

:%y

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

Или

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

cat copyfile > pastefile

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

5
Sachith

Для Mac используйте pbcopy (копия из картона):

cat file.txt | pbcopy

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

Вы также можете вставить содержимое буфера обмена в файл, используя pbpaste:

pbpaste > file.txt

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

3
Chris

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

1
Cakemox

Другой способ будет:

Вы нажимаете v нажмите клавишу на клавиатуре и поверните VIM на VISUAL.

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

^INSERT копировать

SHIFT +INSERT вставлять текст в Google Docs куда угодно.

1
user237678
0
petrus

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

0
kasterma

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

cat <your file name>

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

Напр .:

cat bobis.txt
0
user359247