Udostępnianie ukończeń między uruchomionymi instancjami vima

10

Używam tmuxw przeważającej części, zamiast przy użyciu vimkart i podziały. Czy vim ma możliwość współdzielenia ukończeń (przez Ctrlni Ctrlp) pomiędzy uruchomionymi instancjami? Czy istnieje sposób, aby skonfigurować to miejsce, w którym każdy vimskomunikuje się z serwerem vim.?

Gregory Nisbet
źródło
8
Nie, nie można tego zrobić w praktyczny sposób. Vim doskonale radzi sobie z dziesiątkami buforów, wykorzystuje swoją moc.
romainl
1
@romainl, czy moglibyśmy napisać coś do „pliku ukończenia”, z którego vimczytalibyśmy i odświeżyli jego listę ukończeń ?
J. Chomel,

Odpowiedzi:

2

Vim może korzystać z tej samej bazy danych zakończenia, jeśli baza danych jest zewnętrzna dla każdej instancji vim.

Na przykład zakończenie zostanie nieco „udostępnione”, jeśli użyjesz ctagszakończenia lub youcompletemeinnej wtyczki korzystającej z zewnętrznych procesów lub plików.

Uzupełnianie słów nie jest dla Ciebie przydatne, ponieważ będą używać tylko słów z tego samego pliku: C-N/C-P

Ale omnii ctagsukończenie będzie wykorzystywać ctagsbazy danych (który powinien być zbudowany przez exuberant ctagsuprzednio) i będzie udostępniony spośród wszystkich przypadkach.

Wpisz C-X C-Oopcję Omni-uzupełnianie, C-X C-]aby uzupełnić ctags.

Jurij Erszow
źródło
0

W :help i_ctrl-ntym pokazuje, że Vim używa completeopcji, aby zakończyć słowami. Pomoc completepokazuje dalej, że jedyną realną opcją użycia czegoś, co nie jest lokalne dla instancji Vima, jest użycie pliku słownika. Pytanie sprowadza się następnie do wygenerowania takiego pliku słownika przy użyciu wszystkich instancji vim. Możesz to zrobić, analizując wszystkie otwarte pliki co jakiś czas. Nie mam jednak pojęcia, jak wpłynęłoby to na wydajność.

Inną opcją byłoby użycie zupełnie innej mechaniki (ctags itp.), Ale mogłoby to zepsuć funkcjonalność w innym miejscu, ponieważ tak naprawdę nie były one przeznaczone do prostego autouzupełniania.

Mówiąc bardziej ogólnie, możesz również nieco zmienić przepływ pracy, aby bardziej trzymać się sposobu, w jaki Vim był przewidziany do użycia. Oznaczałoby to użycie jednego lub kilku okien do jednoczesnego przeglądania rzeczy i częstego przełączania buforów. Wtyczka, która bardzo ładnie wykonuje część przełączającą, to ctrlP. Po aktywacji poprzez naciśnięcie przycisku pozwala na wyszukiwanie plików w różnych miejscach, umożliwiając szybkie przełączanie. Tak długo, jak pamiętasz nazwę pliku.

Oktawor
źródło