2012-04-25 11 views
9

Tôi muốn xem đầu ra của lệnh trong cửa sổ GVim đã được mở.Cách gửi lệnh đến gvim khi sử dụng --remote?

Để nhìn vào đầu ra của một lệnh trong một cửa sổ GVim mới, tôi muốn làm:

mycommand | gvim - 

Để mở một tập tin một cửa sổ hiện tại, tôi muốn làm:

gvim --remote-silent myfile 

Làm cách nào để sử dụng chúng cùng nhau? mycommand | gvim --remote-silent - không không hoạt động (nó cho rằng - là một tệp trong thư mục hiện tại).

Trả lời

2

Hãy thử gvim --remote-silent <(mycommand).

0

Giả sử bạn có gvim chạy với mặc định servername GVIM, đây là một lệnh để thực hiện :echo 'It works!' trong gvim chạy:

vim --servername GVIM --remote-send ":echo 'It works!'<CR>" 

này lệnh trở về không có gì, nó chỉ gửi ":echo 'It works!'<CR>" đến máy chủ và trả về ngay lập tức.

Nếu bạn cần evalute một biểu thức và nhận được kết quả, bạn có thể sử dụng lệnh này:

vim --servername GVIM --remote-expr "version" 

(số phiên bản sẽ được trả lại)

vim --servername GVIM --remote-expr "2+2" 

("4" sẽ được trả lại)

Tất nhiên, bạn có thể khai báo hàm của riêng mình trong Vim và sử dụng hàm đó làm biểu thức, giống như sau:

vim --servername GVIM --remote-expr "MyOwnFunction()" 
+0

Một người nào đó bị bỏ phiếu. Xin giải thích, có gì sai ở đây. –