[emacs] shell-mode

上官霄
2023-12-01

I. shell mode常用快捷键

  • M-x shell:运行一个子Shell,该子Shell对应于emacs中的一个名为*Shell*的缓冲区,此后我们就可以交互式的运行Shell命令了。
    • C-c C-c 相当于Bash下的C-c
    • C-c C-z 相当于Bash下的C-z
    • C-c C-d 相当于Bash下的C-d
    • M-p 执行前一条命令
    • C-n 执行下一条命令
    • C-c C-o 删除最后一条命令产生的输出
    • C-c C-r 屏幕滚动到最后一条命令输出的开头
    • C-c C-e 屏幕滚动到最后一套命令输出的结尾
    • C-c C-p 查看前一条命令的输出
    • C-c C-n 查看后一条命令的输出
  • M-x term:运行一个子Shell,该子Shell对应于emacs中的一个名为*Terminal*的缓冲区。使用该命令获得的子Shell是一个完整的Shell的模拟,与我们直接在Shell中操作没有什么差别。
  • M-x eshell:运行emacs shell,该Shell为emacs自己实现的一个shell,而前面运行的shell都为系统中的shell程序(例如:/bin/csh等)。我们可以通过设置变量shell-file-name来设置emacs所使用的默认shell

II. shell mode变体

  1. M-! cmd RET(M-x shell-command)
    运行命令并把执行结果显示在名为*Shell Command Output*缓冲区中;加前缀C-u表示将其输出放到编辑区中光标所在的位置处
  2. M-| cmd RET(M-x shell-command-region)
    运行Shell命令,并使用编辑窗口中选定的区域作为该Shell命令的输入,然后可以选择是否用该Shell命令的输出来替换编辑窗口中选中的区域。
 类似资料: