ZSH 主機名稱完成行為有改變嗎?

ZSH 主機名稱完成行為有改變嗎?

我一直在使用 ZSH 來完成主機名稱補全,並且想要更改預設行為。當我有多個具有相似名稱的主機時,完成會執行我不關心的操作。最好舉個例子:

假設我有這些主機:

host01.stage.example.com
host02.stage.example.com
host01.prod.example.com
host02.prod.example.com

現在,在我的提示中,我將輸入:

$ ssh hos<tab>

zsh 會告訴我:

$ ssh host..example.com 

將遊標放在「主機」後面,並顯示一個包含主機名稱的選單。我喜歡顯示主機名稱的選單,我只是不希望它完成一切。奇怪的事情發生了。大多數時候,我透過選項卡瀏覽,要么必須刪除主機名,要么必須刪除行上的額外內容。

首選方法是不填寫主機名稱的其餘部分。就像是:

$ ssh hos<tab>

zsh 希望能告訴我:

$ ssh host
host01.stage.example.com  host01.prod.example.com
host02.stage.example.com  host02.prod.example.com

有什麼想法嗎?

答案1

您是否更改了 .zshrc 檔案中的任何內容?因為當我這樣做時

ssh 127<tab>

它給了我正確的建議...遊標移動到正確的位置:

ssh 127.0.<cursor>.1
127.0.0.1 127.0.1.1

(第二行是得到的建議)

相關內容