3

В Vim какая разница между регистрами "+ и "* ? Какой из них следует использовать для копирования и вставки в Vim из других приложений? Нужно ли что-то добавлять в файл .vimrc, чтобы эти два регистра работали?

1 ответ1

8

Регистры являются функцией X11; они не специфичны для Linux или даже для Unix, но работают на любой ОС, использующей X11.

Как описано в документации Vim (:help quoteplus), регистр "+ соответствует выбору «CLIPBOARD» в X11, а регистр "* соответствует выбору« PRIMARY ».

  • Более подробное объяснение:

    Графическая среда X11 поддерживает несколько буферов, подобных буферам обмена, которые называются выборками. Есть три стандартных, два из которых широко используются:

    • PRIMARY выбор обновляется каждый раз, когда вы выбираете текст. Чтобы вставить из него (в графических программах), нажмите среднюю кнопку мыши или используйте Shift Insert. В Vim он доступен через регистр "* .

    • Выбор CLIPBOARD обновляется, когда вы явно вырезаете или копируете что-либо (текст или другие данные). Другими словами, он используется так же, как буфер обмена Windows или Mac OS. Чтобы вставить из него, обычный ярлык Ctrl V в графических программах. В Vim он доступен через регистр "+ .

Вам не нужны никакие специальные настройки для их использования; однако ваш Vim должен быть настроен на поддержку X11 (ищите +X11 в vim --version), и - очевидно - регистры работают только внутри X11.

Однако не имеет значения, используете ли вы графический интерфейс или терминальную версию Vim. (В Arch Linux пакет gvim предоставляет версии с графическим интерфейсом и терминалом с включенной поддержкой X11.)

Ресурсы:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .