遠端

Nvim :help 頁面,由 產生,原始碼來自 來源,並使用 tree-sitter-vimdoc 解析器。


Vim 客戶端-伺服器通訊

1. 常用功能 clientserver

Nvim 的 RPC 功能允許客戶端以程式化的方式控制 Nvim。Nvim 本身會接收命令列參數,使其成為另一個以伺服器形式運行的 Nvim 的客戶端。這些參數與 Vim 的 clientserver 選項提供的參數相符。
以下命令列參數可用
參數 含義
--remote [+{cmd}] {file} ... --remote
在遠端 Vim 中開啟檔案清單。當沒有 Vim 伺服器時,在本機執行。Vim 允許一個初始命令:+{cmd}。這必須是一個可以接續 "|" 的 Ex 命令。Nvim 尚未支援此功能。命令列的其餘部分將被視為檔案清單。因此,任何非檔案參數都必須在此之前。你無法以這種方式編輯 stdin --。遠端 Vim 會被喚起。如果你不想要這樣,請使用
nvim --remote-send "<C-\><C-N>:n filename<CR>"
--remote-silent [+{cmd}] {file} ... --remote-silent
如同上述,但如果沒有伺服器,且檔案在本機編輯時,不會抱怨。--remote-tab
--remote-tab 類似 --remote,但會在新的標籤頁中開啟每個檔案。--remote-tab-silent
--remote-tab-silent 類似 --remote-silent,但會在新的標籤頁中開啟每個檔案。--remote-send
--remote-send {keys}{keys} 發送到伺服器並退出。{keys} 不會被映射。特殊的按鍵名稱會被識別,例如 "<CR>" 會產生一個 CR 字元。--remote-expr
--remote-expr {expr} 在伺服器中評估 {expr} 並在 stdout 上印出結果。--remote-ui
--remote-ui 在終端機中顯示伺服器的 UI。完全互動:鍵盤和滑鼠輸入會轉發到伺服器。--server
--server {addr} 連接到給定位址的具名管道或 socket,以執行遠端命令。請參閱 --listen 以了解如何在啟動伺服器時指定位址。
範例
啟動一個在 '~/.cache/nvim/server.pipe' 的具名管道上監聽的 Nvim 伺服器
nvim --listen ~/.cache/nvim/server.pipe
在 '~/.cache/nvim/server.pipe' 上監聽的 Nvim 伺服器中編輯 "file.txt"
nvim --server ~/.cache/nvim/server.pipe --remote file.txt
這無效,--remote 後的所有參數都會被當作檔案名稱
nvim --remote --server ~/.cache/nvim/server.pipe file.txt
告訴遠端伺服器寫入所有檔案並退出
nvim --server ~/.cache/nvim/server.pipe --remote-send '<C-\><C-N>:wqa<CR>'

遠端編輯

--remote 參數會導致從命令列的其餘部分建構一個 :drop 命令,並如上所述發送。請注意,--remote 和 --remote-wait 參數將會消耗命令列的其餘部分。也就是說,所有剩餘的參數都會被視為檔案名稱。你不能在那裡放置選項!

2. 缺少的功能 E5600 clientserver-missing

Vim 在 clientserver 中支援額外功能,但 Nvim 尚未實作。特別是,尚未支援任何 "wait" 變體。以下命令列參數尚不可用
參數 含義
--remote-wait [+{cmd}] {file} ... --remote-wait
Nvim 尚未支援。如同 --remote,但會等待遠端 Vim 中的檔案完成(卸載)。--remote-wait-silent [+{cmd}] {file} ... --remote-wait-silent
Nvim 尚未支援。如同 --remote-wait,但如果沒有伺服器,不會抱怨。--remote-tab-wait
--remote-tab-wait Nvim 尚未支援。如同 --remote-wait,但會在新的標籤頁中開啟每個檔案。--remote-tab-wait-silent
--remote-tab-wait-silent Nvim 尚未支援。如同 --remote-wait-silent,但會在新的標籤頁中開啟每個檔案。--servername
--servername {name} Nvim 尚未支援。成為伺服器 {name}。當與其中一個 --remote 命令一起使用時:連接到伺服器 {name},而不是預設的(見下文)。使用的名稱將會是大寫。
--serverlist
--serverlist Nvim 尚未支援。輸出伺服器名稱的清單。

伺服器名稱 client-server-name

預設情況下,Vim 會嘗試註冊它被調用的名稱(gvim、egvim ...)。可以使用 --servername 參數覆蓋此設定。Nvim 會監聽具名管道或 socket,並且尚未支援此 --servername 功能。
主頁
命令索引
快速參考