Как выбрать все и скопировать в vim?

как выбрать все и скопировать в режиме вставки vim? и есть ли другой способ сделать это в нормальном режиме?

Я пробовал визуальный режим и gg и shift + gg, чтобы выбрать все, а затем yank, однако это не переносит его в буфер обмена, чтобы вставлять его в другое приложение, такое как браузер skype или chrome.

Я уверен, что это обычная задача, и есть много разновидностей умнее, чем я, там, пожалуйста, не стесняйтесь делиться своими.

Ответ 1

В вашем вопросе отсутствует несколько важных сведений:

  • вывод $ vim --version?
  • OS?
  • CLI или GUI?
  • локальный или удаленный?
  • Вы используете tmux? экран?

Если ваш Vim был создан с поддержкой буфера обмена, вы должны использовать регистр буфера обмена, как это, в обычном режиме:

gg"+yG

Если у вашего Vim нет поддержки буфера обмена, вы можете скопировать текст из Vim в буфер обмена с помощью других программ. Это в значительной степени зависит от вашей ОС, но вы не сказали, что это такое, поэтому мы не можем помочь.

Однако, если ваш Vim искалечен, лучше всего установить правильную сборку с поддержкой буфера обмена, но я не могу сказать вам, как из-за того, что я не знаю, какую ОС вы используете.

изменить

В системах на основе debian следующая команда установит правильный Vim с поддержкой буфера обмена, ruby, python...

$ sudo apt-get install vim-gnome

Ответ 2

В нормальном режиме:

g g " + y g

В режиме ex:

:%y+

Ответ 3

@swpd улучшил

Я использую , в качестве ведущего ключа, а ,a ярлык делает трюк

Добавьте эту строку, если вы предпочитаете ,a ярлык

map <Leader>a :%y+<CR> 

Я использую Ctrl y ярлык для копирования

vmap <C-y> y:call system("xclip -i -selection clipboard", getreg("\""))<CR>:call system("xclip -i", getreg("\""))<CR>

И ,v, чтобы вставить

nmap <Leader>v :call setreg("\"",system("xclip -o -selection clipboard"))<CR>p

Перед использованием этого вам необходимо установить xclip

$ sudo apt-get install xclip

Изменить: если вы используете :%y+, его можно вставить только в ярлык Vim vim Ctrl+Insert. И

map <C-a> :%y+<Esc>

не противоречит никаким настройкам в моем Vimrc.

Ответ 4

ggVG 

будет выбирать от начала до конца