學習Emacs:Zsh 和 Multi-Term

伯樂線上讀者發表於2013-11-19

【感謝 iamxuxiao 的熱心翻譯。如果其他朋友也有不錯的原創或譯文,可以嘗試提交到伯樂線上。】

我最近一直在使用Multi-Term,用來替代iTerm2Multi-Term非常好用,但是它的預設設定有一些小問題,會讓使用者一開始就遇到後決定放棄的可能。這篇博文提供這些小問題的解決方法。

我在youtube上放了在emacs中使用一段multi-term視訊

為什麼要選擇Multi-term

因為emacs的自帶的term.el只提供了一個簡單的建立terminal  buffer的函式,但是沒有提供建立多個terminal  buffer,以及在各個buffer之間切換的功能。

term.el中內建的key binding和許多常見的emacs keybinding衝突,所有在emacs中直接使用term.el會帶來一些小麻煩。

Multi-term的安裝

請參見:http://www.emacswiki.org/emacs/MultiTerm

Multi-termshell的設定

通過設定multi-term-program變數,我們可以指定新建的terminal使用何種shell, 比如:

Multi-term的顏色設定

另一個常見的問題是:如何給terminal設定顏色。我們可以通過term-default-bg-colorterm-default-fg-color來定製背景和字型的顏色,比如:

在開啟的各個terminal buffer之間進行自動的切換

Multi-term每次開啟一個新的buffer都是自動用數字來命名,當你後臺開啟的很多buffer的之後,記住這些buffer的編號並且切換是一件麻煩的事情,我把muti-term提供的在這些terminal buffer之間切換的功能繫結在了M-[M-]鍵上。

Buffer的長度

Multi-shell預設的buffer的長度是2048行,這就是說buffer中只存放2048行的顯示。你可以通過設定term-buffer-maximum-size0buffer長度改成沒有上限。

 Termhook

我通過如下的函式,在multi-termbuffer中關掉一些minor mode。

Paste功能

如果你在terminal裡面發現paste不工作的話,解決方案就是加一個hook。

相關文章