2015-04-03 53 views
0

我目前使用的是emacs和iTerm。 iTerm令我瘋狂,因爲我無法編輯文本,並且在嘗試將光標從長命令的一端移動到中間時,我正在睡着。如何使用Emacs作爲終端並進行編程

所以,我想用Emacs做終端的東西。

但是,我覺得要堅持「終端世界」和「編程世界」的分離。

我有一個用於切換到iTerm(從任何窗口)的Mac OS命令,這是我想要在Emacs中執行的操作:從操作系統中的任何位置,按下一個鍵盤命令並最終在Emacs的一個終端中。

C-w在iTerm允許我關閉一個終端,並且C-t打開一個新選項卡。運行良好(儘管我認爲Emacs在一個命令中只需要像「終止當前終端併產生新終端」那樣容易)。

請注意,在iTerm中緩衝區之間的切換也很容易,不會切換到「無用」緩衝區(對於終端),如*scratch**messages*。不過,我發現它們在編程世界中很有用。

每當我專門進入Emacs,我的編程環境就緒。

我該如何獲得兩全其美?即保持它們是分開的並且易於訪問,或者將Emacs設置爲使兩者都能夠無障礙地居住在同一個空間中?

+0

兩個程序如何獨立運行?您可以使Emacs的圖形化版本運行,無論是最小化還是下面,或共享屏幕的房地產,或在不同的工作空間。 iTerm也一樣。您可以慢慢地從iTerm中解脫出來,並且在Emacs中有專門用於終端相關項目的緩衝區。你可以在Emacs中有單獨的框架專用於終端項目。通過Alp Aker檢查幀緩衝區以將某些緩衝區與特定幀相關聯。您也可能對Emacs的elscreen或tabbar庫感興趣。 – lawlist 2015-04-03 14:25:34

回答

1

無論您是使用Emacs GUI(推薦)還是終端版本,也無論您是使用Emacs的新實例還是使用emacsclient連接到服務器或守護進程模式中的其他實例,你可能想是這樣的:

M-x ansi-term 

它會提示你默認的shell,通常是/斌/ bash中,按回車,你已經有了一個緩衝一個完整的外殼。這裏最棒的是你可以用你喜歡的任何類似的交互式的東西替換默認的shell,讓它在終端中運行。所以在我的情況下,我定期用Python解釋器而不是bash來使用它。在更多類Emacs行爲和更多類終端行爲之間交換有一些小怪癖,但除此之外。默認情況下這些綁定到C-C C-j和C-C C-k。

我建議和他們一起玩一段時間以適應他們。我最終將M-x ansi-term位綁定到其中一個功能鍵。

0

我用了很多的Emacs的shell-modehttp://wikemacs.org/wiki/Shell

我愛殼緩衝就像是一個普通的Emacs緩衝,即:它的所有文本。這樣我就可以在緩衝區(或helm-swoop

  • 搜索,
  • 我可以改變的需求等關鍵字的字體顏色
  • 我可以做的網址點擊
  • 我可以讓
  • 我可以有殼完成不是zsh
  • 更好的文件名可點擊(上編譯超級有用)...

我經常使用兩個技巧:包shell-here在當前目錄中打開一個shell(不知道現在是否是正常行爲)和shell-pop,彈出一個shell窗口。與此同時,我大量使用elscreen有更多的工作領域。鏈接中有更多的提示,告訴我你的想法!