Bagikan penyelesaian antara menjalankan instance vim

10

Saya menggunakan tmuxsebagian besar daripada menggunakan vimtab dan split. Apakah vim memiliki kemampuan untuk berbagi penyelesaian (melalui Ctrlndan Ctrlp) antara menjalankan instance? Apakah ada cara untuk mengaturnya di mana masing- vimsmasing berkomunikasi dengan server vim.?

Gregory Nisbet
sumber
8
Tidak, ini tidak dapat dilakukan dengan cara praktis . Vim sangat mampu menangani puluhan dan puluhan buffer, menggunakan kekuatannya.
romainl
1
@romainl, dapatkah kita menulis sesuatu ke "file penyelesaian" dari mana vimakan membaca dan menyegarkan daftar penyelesaiannya?
J. Chomel

Jawaban:

2

Vim dapat menggunakan database penyelesaian yang sama jika database eksternal untuk setiap instance vim.

Misalnya, penyelesaian akan agak 'dibagikan' jika Anda menggunakan ctagspenyelesaian atau youcompletemeatau plugin lain yang menggunakan proses atau file eksternal.

Penyelesaian kata tidak cukup berguna bagi Anda karena hanya akan menggunakan kata-kata dalam file yang sama: C-N/C-P

Tapi omnidan ctagspenyelesaian akan menggunakan ctagsbasis data (yang harus dibangun oleh exuberant ctagsterlebih dahulu) dan akan dibagi di antara semua contoh.

Ketik C-X C-Ountuk penyelesaian-omni, C-X C-]untuk penyelesaian tagag.

Yuriy Ershov
sumber
0

Di :help i_ctrl-ndalamnya terlihat bahwa Vim menggunakan completeopsi untuk melengkapi kata-kata. Bantuan terus completeberlanjut untuk menunjukkan bahwa satu-satunya pilihan nyata untuk menggunakan sesuatu yang bukan lokal untuk instance Vim adalah dengan menggunakan file kamus. Pertanyaannya kemudian bermuara pada pembuatan file kamus menggunakan semua contoh vim. Anda bisa melakukan ini dengan mem-parsing semua file yang terbuka setiap saat. Saya tidak tahu dampaknya terhadap kinerja.

Pilihan lain adalah menggunakan mekanik yang sama sekali berbeda (ctags dll) tetapi ini dapat merusak fungsi di tempat lain karena ini tidak benar-benar dimaksudkan untuk pelengkapan otomatis sederhana.

Pada catatan yang lebih umum, Anda juga bisa mengubah alur kerja Anda sedikit lebih menempel dengan cara Vim diharapkan untuk digunakan. Ini berarti menggunakan satu atau beberapa jendela untuk melihat barang secara bersamaan dan sering mengganti buffer. Sebuah plugin yang melakukan bagian switching dengan sangat baik adalah ctrlP. Setelah mengaktifkannya dengan menekan tombol, Anda dapat melakukan pencarian fuzzy untuk file di berbagai tempat, sehingga memungkinkan peralihan cepat. Selama Anda ingat nama file itu.

Oktaviour
sumber