Vim mapping для копирования всего текста в визуальном режиме - PullRequest
2 голосов
/ 13 октября 2011

Я хотел бы отобразить Ctrl + A в визуальном режиме, чтобы выделить и скопировать весь текст из текущего буфера.

Основная идея - выполнить:% y * (скопировать весь буфер в буфер обмена). Итак, отображение должно быть: xmap:% y * (xmap только для визуального режима)

Однако всякий раз, когда я запускаю это отображение, выводится следующее:

E492: Not an editor command: '<,'>%y*

И, я думаю, Вим прав :-). В визуальном режиме , нажав клавишу «:», в строке cmd отображаются следующие удивительные символы:

":'<,'>" 

Единственная релевантная часть информации, где я мог найти этот шаблон ('<,'>), это: http://vimdoc.sourceforge.net/htmldoc/cmdline.html#v_: (и это мне не помогло).

Вопрос: я что-то не так делаю (настройка ...)? Есть ли другой ответ на мои вопросы (скопировать весь текст в буфер обмена)?

Я использую Vim 7.3, и в моем vimrc установлен только nocompatible

Спасибо за вашу помощь, Том

Ответы [ 2 ]

7 голосов
/ 13 октября 2011

Использование:

xnoremap <whatever> :<c-u>%y*<return>

Дополнительные ctrl - u стирают командную строку до курсора.

Из ссылки vim:

                            *c_CTRL-U*
CTRL-U  Remove all characters between the cursor position and
        the beginning of the line.  Previous versions of vim
        deleted all characters on the line.  If that is the
        preferred behavior, add the following to your .vimrc: >
        :cnoremap <C-U> <C-E><C-U>
2 голосов
/ 13 октября 2011

Используйте следующее сопоставление:

nmap <C-A> ggVGy

Снимает весь текущий файлКстати, я не уверен, что это именно то, что вы, что.Я не понимаю, зачем вам визуальное отображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...