从 emacs 打开终端

stu*_*ent 12 keyboard-shortcuts emacs

是否有一种快速方法(键盘快捷键)可以在与当前 emacs 缓冲区中的文件相同的目录中打开终端模拟器(在我的情况下为 urxvt)?

rah*_*hmu 15

该组合M-!允许您启动 shell 命令。您可以使用它来启动单独的urxvt.

M-! urxvt RET
Run Code Online (Sandbox Code Playgroud)

我只是尝试了xterm(我没有urxvt),它确实在与缓冲区中的文件相同的目录中打开。

如果要定义快捷方式,请在 init 文件中添加类似的内容:

(global-set-key (kbd "C-c s") (kbd "M-! urxvt RET"))
Run Code Online (Sandbox Code Playgroud)

就我而言,我将快捷方式绑定到:Ctrl+ C- S


rah*_*hmu 10

我通常使用M-x term.

您还可以结帐:

  • M-x terminal
  • M-x shell

M-x term正在有效地启动用 elisp 编写的终端模拟器。从帮助:

term
M-x ... RET 在新缓冲区中启动终端模拟器。(术语程序)

term 是 `term.el' 中的一个交互式编译 Lisp 函数。

在新缓冲区中启动终端模拟器。缓冲区处于 Term 模式;有关在该缓冲区中使用的命令,请参阅“term-mode”

键入 Cc b 切换到另一个缓冲区。


D_B*_*Bye 8

emacs 命令M-x shell将在新缓冲区中启动一个 shell(或者切换到现有的 shell 缓冲区,如果有的话)。如果它是一个新的 shell 缓冲区,它将在当前缓冲区中正在访问的文件的目录中启动。如果它是一个现有的 shell 缓冲区,它仍然会在你上次使用它后离开它的目录中。为了始终获得您想要的行为,请记住在完成后杀死 shell 缓冲区 ( C-x k)

如果M-x shell打字太多,你可以设置一个全局键来为你启动一个shell。像(global-set-key (kbd "C-x S") 'shell)在你的启动文件中的东西应该这样做(但注意不要用你的快捷方式掩盖另一个有用的命令!)

另外,请注意这是一个“哑终端”,因此某些命令(例如git commit需要选项-m和密码)将在屏幕上以纯文本形式显示。