Сочетания клавиш в gvim

Сочетания клавиш в gvim

Я пытаюсь перейти с Windows на Linux и у меня возникли трудности с сочетаниями клавиш в gvim.

Для чего-то столь простого, как копирование, вы нажимаете "+y, и мне интересно,

1) имеет ли значение порядок нажатия кнопок? Я уже выяснил, что не нужно удерживать все 4 клавиши (включая shift) одновременно

2) есть ли более простой способ или способ изменить это?

3)почему, черт возьми, создатели выбрали эти ключи для обозначения копирования?

решение1

Во-первых, Vim не поддерживаетаккорд, т.е. нажатие нескольких клавиш одновременно. Это всего лишьодна основная клавиша, а также возможная комбинация клавиш-модификаторов (например Shift, Ctrl, , Alt). Итак, вы печатаете ", затем +, затем yкогда читаете "+y.


Для вещей, которые вы делаете часто, есть механизм быстрого доступа, который называетсяотображения. Например, F2вместо этого можно использовать:

:nnoremap <F2> "+y

Вам нужно будет понятьрежимыVim. :help map.txtсодержит всю информацию. Если вам просто нужны сопоставления, как в большинстве приложений Windows (например, Ctrl+C для копирования), добавьте

:runtime mswin.vim

в свой ~/.vimrc, и все готово.


Почему "+yтак сложно? Ну, обычно вы используете внутренние регистры Vim, в основномненазванный регистр, и это быстро и просто y. Vim часто используется в терминале или через SSH-соединение, поэтому взаимодействие с буфером обмена системы не так распространено.

решение2

Я использую системный буфер обмена в vim. Это значит

  • Все, что извлечено с помощью y/ Y/ x/ X/ d/.., будет записано в системный буфер обмена.
  • А также, все, что было скопировано ctrl+cили что-то еще, будет вставлено в vim с помощью p/ P/ ...

Настройка следующая:

if has('win32') || has('win95') || has('win64')
    set clipboard+=unnamed
    set clipboard+=unnamedplus
else
    set clipboard=unnamedplus

Более подробную информацию можно найти на сайтеhttp://vim.wikia.com/wiki/Доступ_к_системному_буферу_обменаиhttp://vim.wikia.com/wiki/VimTip21

Связанный контент