Поділитися завершеннями між запущеними екземплярами vim


10

Я використовую tmuxздебільшого замість того, щоб використовувати vimвкладки та розбивки. Чи має vim можливість ділитися завершеннями (через Ctrlnта Ctrlp) між запущеними екземплярами? Чи є спосіб налаштувати його там, де кожен із користувачів vimsспілкується з сервером vim.?


8
Ні, це неможливо зробити практичним способом. Vim прекрасно здатний обробляти десятки і десятки буферів, використовувати його потужність.
romainl

1
@romainl, чи можемо ми щось записати у "файл завершення", звідки vimбуло б прочитати та оновити його список завершення?
Дж. Чомель

Відповіді:


2

Vim може використовувати ту саму БД завершення, якщо база даних є зовнішньою для кожного екземпляра vim.

Наприклад, завершення буде дещо "спільним", якщо ви використовуєте ctagsзавершення youcompletemeабо будь-який інший плагін, який використовує зовнішні процеси або файли.

Завершення слова не дуже корисне для вас, оскільки воно буде використовувати лише слова в одному файлі: C-N/C-P

Але omniі ctagsзавершення буде використовувати ctagsбазу даних (який повинен бути побудований за exuberant ctagsзаздалегідь) і буде розподілятися між усіма примірниками.

Введіть C-X C-Oдля доповнення omni, C-X C-]для завершення ctags.


0

На :help i_ctrl-nньому видно, що Vim використовує completeопцію для завершення слів. Допомога completeнадалі показує, що єдиний реальний варіант використовувати те, що не є локальним для екземпляра Vim, - використовувати файл словника. Потім питання зводиться до створення такого словника, використовуючи всі екземпляри vim. Ви можете зробити це, раз і раз аналізуючи всі відкриті файли. Я не маю уявлення про вплив, який це може мати на продуктивність.

Іншим варіантом буде використання абсолютно іншого механіка (ctags тощо), але це може порушити функціональність в іншому місці, оскільки вони насправді не призначені для простого автозавершення.

Більш загальна примітка, ви також можете трохи змінити робочий процес, щоб більше дотримуватися способу використання Vim. Це означатиме використання одного чи декількох вікон для одночасного перегляду матеріалів та часто перемикання буферів. Плагін, який дуже добре перемикає частину, є ctrlP. Після його активації натисканням кнопки ви можете робити нечіткий пошук файлів у різних місцях, тим самим дозволяючи швидко перемикатися. Поки ви пам'ятаєте ім'я файлу, яке є.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.