[英]Creating a Cygwin emacs macro
我一直在研究如何使Cygwin在emacs下工作 。 我有它的工作,但現在我想編寫一個宏,它將執行以下操作:
基本上將完成上述所有步驟。 我認為這個小項目的大多數組織已經完成。 如何將它們綁在一起,這樣我就可以鍵入Mx cygwin並看到一個快樂的新cygwin緩沖區? 到底需要將什么添加到.emacs? 另外,.emacs在Windows中到底在哪里?
我仍然希望現在能夠為Windows Shell運行Mx Shell。 我也可以為Linux的MSYS和ssh'ing創建類似的宏。 我該如何開始?
很多問題,下面是一些答案:
您的.emacs可以存在很多地方,具體取決於這里 。 簡而言之,請嘗試Cx Cf .emacs ,或檢查變量'user-init-file
( Ch v user-init-file )的值。
我認為您想要的命令與此類似:
(require 'comint) ; this does require comint
(defun cygwin ()
"do what i want for cygwin"
(interactive)
(let ((buffer (get-buffer-create (generate-new-buffer-name "cygwin"))))
(pop-to-buffer buffer)
(unless (comint-check-proc buffer)
(apply 'make-comint-in-buffer (buffer-name buffer) buffer "c:/cygwin/Cygwin.bat"
nil
nil)
(ansi-color-for-comint-mode-on)
(set-buffer-process-coding-system 'undecided-unix 'undecided-unix))))
注意:我直接運行進程Cygwin.bat
而不是運行shell,然后啟動該批處理程序。 相信效果是一樣的,而且更加直接。 我確實選擇了命名緩沖區的簡單方法(使用'generate-new-buffer-name
)-您需要自定義所需的內容。
通過執行Cx Cf .emacs並將其粘貼到打開的緩沖區中,可以最輕松地將上述命令轉儲到.emacs中。 保存並重新啟動(或在光標位於該命令的正文中時執行Mx eval-defun 。然后Mx cygwin將運行該命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.