
Я пытаюсь перейти с 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