Bisakah saya membuka file dalam instance Vim yang ada dari perintah eksternal?


20

Beberapa aplikasi memiliki gagasan "sesi" , di mana Anda dapat menjalankan perintah untuk memuat file dalam instance aplikasi yang ada.

Misalnya, ketika saya mengetik:

$ firefox http://vi.stackexchange.com

Firefox menggunakan kembali proses Firefox yang sudah ada, daripada membuat yang baru.

Apakah ini mungkin dengan Vim?

Jawaban:


22

Anda perlu dikompilasi dengan vim +clientserver, dan kemudian Anda dapat menggunakan perintah vim --servername SERVERuntuk memulai instance vim dan vim --servername SERVER --remote FILEuntuk membuka file dalam instance vim bernama.


hanya macOS

MacVim menjalankan server secara default - Anda dapat menggunakan mvim --remote-tab-silentuntuk membuka file di tab baru di instance MacVim yang ada, atau mvim --remote-silentuntuk membuka file di buffer baru di tab yang sama.


4

Sementara jawaban @ craigp benar, saya merasa lebih mudah untuk menambahkan --remote-silenttanpa khawatir tentang nama server,
(ini mengasumsikan Anda tidak ingin alamat instance bernama vim) .

Ini akan memulai server, atau menggunakannya jika belum dimulai.

Ini bisa disebut seperti ini:

gvim --remote-silent '+cal cursor(line,col)' some_file

misalnya:

gvim --remote-silent '+cal cursor(102,4)' src/code.c

Saya akhirnya perlu menggunakan metode yang berbeda untuk memindahkan kursor karena inisialisasi jarak jauh ini.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.