音乐怎么分享到微信朋友圈
951 2023-04-03 02:30:19
一、shell mode 介绍
下面介绍另外一种使用方式—— Shell mode。这种方式和大家常用的工作方式最大的一个区别,就是在这里完全没有任何 terminal 的存在。
用户实际上是工作在一个 Emacs 的文本缓冲区里面,并不直接和 Shell 进行交互。一切的命令输入都是写入到这个文本缓冲区当中,
经由 comint.el
从缓冲区中读取,然后转交给后台的 Shell 进程。Shell 产生的输出再由 comint.el
进行收集,然后写入到
用户所用的这个缓冲区当中来。这个缓冲区在 Emacs 当中叫做 Shell 缓冲区 (Shell buffer)。
二、启动
在 Emacs 当中按下 Meta-x
组合键(或者 Alt-x 组合键),然后输入shell
并回车
Emacs 就会启动一个 Shell 进程并且打开一个与之关联的 Shell 缓冲区。
Shell 缓冲区 的名字通常会是 *shell*
。具体启动什么样的 Shell 进程 通过 Emacs
配置文件里的 shell-file-name
变量指定,或者由用户的环境变量 SHELL
或 EMACSSHEL
来指定。通常的写法是
<span > (setq shell-file-name "/bin/bash") </span>
<span > export EMACSSHELL=/usr/bin/zsh </span>
另外如果你希望使用一个支持 ANSI color 的 Shell 进程,那么在你的 Emacs 配置
文件里面加入下面两行,以便在执行 ls – color=auto
命令的时候输出的色彩信息
能够被 Emacs 正确解析。
<span > (autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t) (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on t)</span>
三、退出
按下Meta-x
组合键(或者 Alt-x 组合键),然后输入exit 并回车
可以看到上面列出了几个选项,选择 exit-splash-screen 即可退出。
当用户退出 Shell 会话之后,Emacs 并不会删除这个 Shell buffer,而是把它留在那里,等待用户的进一步的处理。
<span > dove@bash-4.1$exit exit Process shell finished </span>
M-x shell
命令,Emacs 会再次复用这个 buffer。
<span > dove@bash-4.1$ dove@bash-4.1$exit exit Process shell finished dove@bash-4.1$ </span>