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

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

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

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

Ответы (12)

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

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

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

Другой способ - g “ + y G, но вы, скорее всего, признаете, что все вышеперечисленное быстрее и проще.

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

Многие давали ответы и дёрнули выбор, который я не искал.

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

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

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

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

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

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

Вы можете использовать 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, но это не работает.

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

ИСПОЛЬЗОВАНИЕ ggVG. введите “gg”, чтобы пройти верхнюю часть теста Затем введите VG.

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

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

:%y

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

Or

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

cat copyfile > pastefile Этот git repo тоже есть некоторые другие полезные команды.

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

gg"+yG

или

gg"*yG

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

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

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

cat file.txt | pbcopy

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

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

pbpaste > file.txt

Хотя это не подразумевает vi конкретно, это позволяет достичь той же цели на Mac.

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

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

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

Другой способ:

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

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

^+ INSERT, чтобы скопировать

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

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

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

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

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

cat <your file name>

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

Игра окончена

Ex.:

cat bobis.txt

Похожие вопросы

6
10
11
4
11