"*
І "+
регістри для буфера обміну системи ( :help registers
). Залежно від вашої системи вони можуть робити різні речі. Наприклад, у системах, які не використовують X11, як OSX або Windows, "*
регістр використовується для читання та запису в буфер обміну системи. У системах X11 можна використовувати обидва регістри. Ознайомтеся :help x11-selection
з детальнішою інформацією, але в основному "*
це аналог PRIMARY вибору X11 (який, як правило, копіює речі, які ви вибираєте мишею, і вставляє за допомогою середньої кнопки миші) і "+
є аналогом вибору CL11BOARD X11 (який належить до буфера обміну).
Якщо все, що перейшло вам над головою, спробуйте скопіювати "*yy
або "+yy
скопіювати рядок у буфер обміну вашої системи. Якщо припустити, що у вас є відповідні варіанти компіляції, той чи інший повинен працювати. Ви можете переробити це на щось більш зручне для вас. Наприклад, ви можете помістити vnoremap <C-c> "*y
в ~ / .vimrc так, що ви зможете візуально вибрати і натиснути Ctrl+, cщоб підтягнути до буфера обміну вашої системи.
Майте на увазі, що копіювання / вставлення з буфера обміну системи не працюватиме, якщо :echo has('clipboard')
повернеться 0. У цьому випадку vim не компілюється з +clipboard
функцією, і вам доведеться встановити іншу версію або перекомпілювати її. Деякі дистрибутиви Linux надають мінімальну установку vim за замовчуванням, але, як правило, якщо встановити пакет vim-gtk
чи vim-gtk3
пакет, ви можете отримати додаткові функції.
Ви також можете ознайомитися з 'clipboard'
варіантом, описаним на :help cb
. У цьому випадку ви можете :set clipboard=unnamed
або :set clipboard=unnamedplus
зробити всі операції по янь / видаленню автоматично копіювати в буфер обміну системи. Це може спричинити незручності в деяких випадках, коли ви зберігаєте щось інше в буфері обміну, оскільки це скасує це.
Для вставки можна скористатися "+p
або "*p
(знову ж таки, залежно від вашої системи та / або потрібного вибору), або ви можете зіставити їх на щось інше. Я набираю їх явно, але часто опиняюсь у режимі вставки. Якщо ви перебуваєте в режимі вставки, ви все одно можете вставити їх з належним відступом, використовуючи <C-r><C-p>*
або <C-r><C-p>+
. Див :help i_CTRL-R_CTRL-P
.
Також варто згадати paste
варіант vim ( :help paste
). Це перетворює vim у спеціальний "режим вставки", який вимикає кілька інших параметрів, що дозволяє вам легко вставити в vim за допомогою емулятора термінала або знайомого клавіша для мультиплексора. Просто введіть, :set paste
щоб увімкнути його, вставте ваш вміст і введіть його, :set nopaste
щоб вимкнути його. Крім того, ви можете використовувати pastetoggle
опцію, щоб встановити код клавіші, який перемикає режим ( :help pastetoggle
). Я рекомендую використовувати регістри замість цих варіантів, але якщо вони все ще занадто страшно, це може бути зручним рішенням, коли ви вдосконалюєте свої vim відбивні.
Дивіться :help clipboard
детальну інформацію.