在zsh之外使用zsh完成的最佳方式是什麼?我知道我可以使用自定義函數重新定義compadd內建函數並解析它的選項,但有沒有更好的方法?在zsh之外使用zsh完成
我想基於zsh完成系統將shell腳本的omni完成添加到Vim中。
在zsh之外使用zsh完成的最佳方式是什麼?我知道我可以使用自定義函數重新定義compadd內建函數並解析它的選項,但有沒有更好的方法?在zsh之外使用zsh完成
我想基於zsh完成系統將shell腳本的omni完成添加到Vim中。
2004年8月23日在zsh郵件列表上提出了同樣的問題:http://www.zsh.org/mla/users/2004/msg00917.html。至少我相信這是同一個問題。如我錯了請糾正我。
基本上,bash shell使用readline進行行編輯,但zsh uses its own and more powerful zle。
此問題詢問zle是否可用於命令行程序的輸入,而不必從頭開始寫入。
這個問題有2個回覆。一個說:
「這實際上是相對容易做的。對於一個工作示例,請參閱 函數/雜項/ nslookup在zsh發行版中。」
其他答覆是從原來的提問者和它說:
「如果只是‘preexec’可以訪問緩衝區,在寫的編輯命令 行可在任何地方寫的,但由於緩衝區是隻完成內部觸及 小部件,這應該用一個小部件完成, 替換'接受線'或類似的東西。「
希望這會有所幫助。
尊敬的$ DEITY,請告訴我你知道如何做到這一點。我喜歡到處都有zstyles。 – chiggsy 2011-08-17 05:53:08
@chiggsy我所知道的是,如果我花了很多時間寫黑客來覆蓋各種內置命令(一個「compadd」是不夠的)並且重新實現了他們完成的功能,我就可以完成這項工作。這不是我願意花時間的事情。 – ZyX 2011-08-21 02:16:39
因此...澄清問題:我是否正確理解您認爲您想要通過某種方式從vim中的命令提示符訪問zsh的交互完成系統?這似乎...像vim需要修改以鏈接到它...也許它可以作爲一個圖書館,zsh和vim都可以使用? – lindes 2012-04-09 18:39:28