Tôi có thể mở tệp trong một phiên bản Vim hiện có từ một lệnh bên ngoài không?


20

Một số ứng dụng có khái niệm "phiên" , trong đó bạn có thể chạy lệnh để tải tệp trong một phiên bản hiện có của ứng dụng.

Ví dụ: khi tôi gõ:

$ firefox http://vi.stackexchange.com

Firefox sử dụng lại một quy trình Firefox hiện có, thay vì tạo một quy trình mới.

Điều này có thể với Vim?

Câu trả lời:


22

Bạn cần vim biên dịch với +clientserver, và sau đó bạn có thể sử dụng lệnh vim --servername SERVERđể bắt đầu một thể hiện vim và vim --servername SERVER --remote FILEđể mở tệp trong thể hiện vim được đặt tên.


chỉ macOS

MacVim chạy máy chủ theo mặc định - bạn có thể sử dụng mvim --remote-tab-silentđể mở tệp trong tab mới trong phiên bản MacVim hiện tại của bạn hoặc mvim --remote-silentđể mở tệp trong bộ đệm mới trong cùng một tab.


4

Mặc dù câu trả lời của @ craigp là chính xác, tôi thấy thuận tiện nhất là chỉ cần thêm --remote-silentmà không phải lo lắng về tên máy chủ,
(điều này giả định rằng bạn không muốn giải quyết các trường hợp vim có tên) .

Điều này sẽ khởi động máy chủ hoặc sử dụng một máy chủ nếu nó chưa được khởi động.

Nó có thể được gọi như thế này:

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

ví dụ:

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

Cuối cùng tôi cần sử dụng một phương pháp di chuyển con trỏ khác vì khởi tạo từ xa này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.