Как сделать так, чтобы cut/copy / paste в GVim на Ubuntu работали с Ctrl+X,Ctrl+C,Ctrl+V?

по умолчанию в GVim на Ubuntu короткие сокращения cut/copy/paste:

 Cut    "+x
 Copy   "+y
 Paste  "+gP

Я хотел бы использовать комбинацию клавиш управления в GVim, как я использую в Firefox и других приложениях gnome. Как настроить GVim для работы как другие приложения Gnome?

30
задан pcapademic
19.03.2023 6:54 Количество просмотров материала 2688
Распечатать страницу

4 ответа

добавьте следующие строки в _vimrc или .vimrc

source $VIMRUNTIME/mswin.vim
behave mswin

но будьте осторожны, визуальный режим затем CTRL-Q вместо CTRL-V.

обзор что mswin.ВИМ не видел mswin.vim sourcode. Он прокомментирован очень хорошо, и если какая-то команда неясна, вы можете легко найти ее в помощью редактора Vim.

вот краткий обзор из источника:

  • клавиши backspace и курсор переносить в предыдущая / следующая строка
  • CTRL-X и SHIFT-Del вырезаются
  • CTRL-C и CTRL-Insert копировать
  • CTRL-V и SHIFT-Insert вставить
  • используйте CTRL-Q, чтобы сделать то, что CTRL-V используется, чтобы сделать
  • используйте CTRL-S для сохранения, также в режиме вставки
  • CTRL-Z Отменить; не в командной строке, хотя
  • CTRL-Y повторить (хотя и не повторить); не в командной строке, хотя
  • Alt-Space-системное меню
  • CTRL-A Выделить все
  • CTRL-Tab следующее окно
  • CTRL-F4 Закрыть окно

по запросу Nippysaurus: Я положил следующее В моем .gvimrc показать Ctrl-V кроме вставки в меню:

unmenu! Edit.Paste
aunmenu Edit.Paste
nnoremenu 20.360 &Edit.&Paste<Tab>Ctrl-V        "+gP
cnoremenu    &Edit.&Paste<Tab>Ctrl-V        <C-R>+

Я не проверял его полностью, просто быстрая проверка, если он сделал то, что я ожидал. Работает для меня, надеюсь, что это работает для вас;-)

46
отвечен Ludwig Weinzierl 2023-03-20 14:42

Если вы хотите вырезать / копировать / вставить с помощью" стандартных " горячих клавиш, но не хотите изменять другие параметры конфигурации в gvim, попробуйте добавить следующее в ~/.vimrc.

vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <C-r><C-o>+

вставить работает только в визуальном режиме и режиме вставки, так что вам не придется беспокоиться о конфликте с Ctrl-V и blockwise визуальном режиме. Это не проблема, потому что копировать и вырезать поставить вас в режим вставки, так что вы можете сразу вставить потом. Если вы попробуете это, вы обнаружите, что это ощущения вполне естественные.

Я придумал эту конфигурацию после нескольких итераций настройки, и я думаю, что это "идеальная" теперь. Если вы даже немного недовольны своей текущей конфигурацией копирования / вставки, попробуйте это, и я уверен, вам понравится.

44
отвечен Cogan 2023-03-20 16:59

если вы хотите сохранить нормальное поведение vim, но также разрешить менее громоздкое использование системного буфера обмена, см. доступ к системному буферу обмена. Если вы хотите, чтобы gvim использовал системный буфер обмена в качестве буфера по умолчанию (например, any x,y,p, etc. команда использует буфер обмена) затем добавьте следующую строку в ваш файл vimrc:

set clipboard=unnamed

Я лично использую буферы гораздо больше в vim, чем между vim и системой; поэтому я бы предпочел немного более громоздкий ярлык, чем у моего системного буфера обмена. Но приятно, что вариант есть для тех, кто предпочел бы его.

9
отвечен jtb 2023-03-20 19:16

Я бы подумал, что вы можете добавить это с помощью команды: imap (попробовал это только с Ctrl+X в Windows, которые работали, нажатие ctrl+c, похоже, отменяет команду, хотя вам, возможно, придется сделать это в vimrc).

:imap <C-X> "+x
:imap <C-C> "+y 
:imap <C-V> "+gP

Если вы добавите его в свой~/.vimrc вам просто нужно удалить : перед imap.

imap добавляет только привязки в режиме вставки, поэтому вы можете изменить его на просто карту или что-то еще. Посмотри в :help mapmode чтобы узнать больше о сопоставления и сопоставления материал.

удачи!

2
отвечен Peter Thorin 2023-03-20 21:33

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

Ваш ответ

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

Имя
Вверх