2009-07-11 65 views
19

是否有支持emacs風格的ido查找文件的命令行shell或shell自定義?在emacs中,我可以使用C-x C-f(ido-mode t)極其快速地導航到目錄。Emacs ido風格的外殼

理想情況下,我正在尋找一種可以在emacs之外使用的解決方案。雖然我會開放一種方法來快速更改eshell緩衝區內的目錄。

+0

我常常希望表現得像個IDO模式更多的應用。 – 2009-07-11 03:00:37

+7

爲什麼要離開emacs? :) eshell? – seth 2009-07-11 07:12:58

+0

他說他使用eshell。我閱讀了ido源代碼,並且它不太適合從eshell輕鬆使用。所以,他需要重構ido,然後將其綁定到eshell,如果他選擇了這條路線。 – jrockway 2009-07-12 02:46:48

回答

19

因爲我也想這樣的事情,我試圖實現它作爲bash完成 函數。顯然這意味着。你必須使用bash。

它只是輕微測試,所以請隨時嘗試和報告錯誤/評論。

http://pgas.freeshell.org/shell/bash-ido

0

我知道某些終端仿真器支持擴展,例如rxvt-unicode可以用Perl腳本擴展。我不確定,因爲我從來沒有寫過擴展名,但也許你想要的是可以這樣做的。

如果您想查看urxvt的某些Perl腳本,可以在/ usr/lib/urxvt/perl中找到一些示例,並在Debian上安裝默認的urxvt。

2

Bash有一個名爲CDPATH的環境變量,它可以包含使用cd命令時要搜索的目錄列表。另外,請查看Bash手冊的「可編程完成」和「READLINE」部分。你應該能夠湊齊一些適合你的東西。

3

嘗試Z-shell。它比bash有更好的完成。我必須承認我已經有一段時間沒有使用它了,因爲它始終可用,所以我堅持使用bash。

0

如果你想在eshell或類似的目錄中完成ido完成,最好編寫一個使用ido讀取目錄的函數,然後將cd命令插入到shell緩衝區中。我不使用eshell,所以我不能評論如何實際編寫這個函數,但這是一個想法。

2

到目前爲止我所能想出的最好的是autojump。仍在尋找更接近ido的解決方案,但autojump是一個很棒的小應用程序。