运行shell命令
- M-! cmd RET: 打开一个名为“*Shell Command Output*“的窗口,并把该命令的执行结果显示在其中。按下”C-x 1“组合键可以关闭这个窗口。由于Shell命令的输出是在一个编辑缓冲区里,因此我们可以对它进行编辑、保存等操作。
- M-| cmd RET:运行Shell命令,并使用编辑窗口中选定的区域作为该Shell命令的输入,然后可以选择是否用该Shell命令的输出来替换编辑窗口中选中的区域。
- C-u M-! cmd RET:执行一条Shell命令,并将其输出放到编辑区中光标所在的位置处,而不将其输出到”Shell Command Output“窗口。
- M-x shell:运行一个子Shell,该子Shell对应于emacs中的一个名为”*Shell*"的缓冲区,此后,我们就可以交互式的运行Shell命令了。
- 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
C-f | forward-char | 向前一个字符 |
C-b | backward-char | 向后一个字符 |
C-p | previous-line | 上移一行 |
C-n | next-line | 下移一行 |
M-f | forward-word | 向前一个单词 |
M-b | backward-word | 向后一个单词 |
C-a | beginning-of-line | 移到行首 |
C-e | end-of-line | 移到行尾 |
M-e | forward-sentence | 移到句首 |
M-a | backward-sentence | 移到句尾 |
M-} | forward-paragraph | 下移一段 |
M-{ | backward-paragraph | 上移一段 |
C-v | scroll-up | 下移一屏 |
M-v | scroll-down | 上移一屏 |
C-x ] | forward-page | 下移一页 |
C-x [ | backward-page | 上移一页 |
M-< | beginning-of-buffer | 移到文档头 |
M-> | end-of-buffer | 移到文档尾 |
M-g g n | goto-line | 移到第n行 |
(none) | goto-char | 移到第n个字符 |
C-l | recenter | 将当前位置放到页面中间(Emacs最喜欢的地方) |
M-n | digit-argument | 重复下个命令n次 |
C-u n | universal-argument | 重复下个命令n次,n默认为4 |
C-x C-f | find-file | 打开文件 |
C-x C-v | find-alternate-file | 打开另一个文件 |
C-x C-s | save-buffer | 保存文件 |
C-x C-w | write-file | 另存文件 |
C-q (n) | quoted-insert | 插入字符,n表示字符的八进制ASCII码 |
C-x 8 | ucs-insert | 插入Unicode字符 |
C-d | delete-char | 删除光标处字符 |
Backspace | delete-backward-char | 删除光标前字符 |
M-d | kill-word | 删除光标起单词 |
M-Backspace | backward-kill-word | 删除光标前单词 |
C-k | kill-line | 删除光标起当前行 |
M-k | kill-sentence | 删除光标起句子 |
C-x Backspace | backward-kill-sentence | 删除光标前句子 |
(none) | kill-paragraph | 删除光标起段落 |
(none) | backward-kill-paragraph | 删除光标前段落 |
C-/ | undo | 撤销 |
C-_ | undo | 撤销 |
C-x u | undo | 撤销 |
C-g | keyboard-quit | 撤销命令 |
C-h t | help-with-tutorial | 调出Emacs Tutorial |
C-h r | info-emacs-manual | 调出Emacs Manual |
C-h k (command) | describe-key | 查看对应command帮助 |
C-o | open-line | 插入空行 |
C-x C-o | delete-blank-line | 删除空行 |
C-x z | repeat | 重复前个命令 |
C-d | delete-char | 删除光标处字符 |
Backspace | delete-backward-char | 删除光标前字符 |
M-\ | delete-horizontal-space | 删除光标处的所有空格和Tab字符 |
M-SPC | just-one-space | 删除光标处的所有空格和Tab字符,但留下一个 |
C-x C-o | delete-blank-lines | 删除光标周围的空白行,保留当前行 |
M-^ | delete-indentation | 将两行合为一行,删除之间的空白和缩进 |
C-k | kill-line | 从光标处起删除该行 |
C-S-Backspace | kill-whole-line | 删除整行 |
C-w | kill-region | 删除区域 |
M-w | kill-ring-save | 复制到kill 环,而不删除 |
M-d | kill-word | 删除光标起一个单词 |
M-Backspace | backward-kill-word | 删除光标前单词 |
M-k | kill-sentence | 删除光标起一句 |
C-x Backspace | backward-kill-sentence | 删除光标前删一句 |
M-z char | zap-to-char | 删至字符char为止 |
C-y | yank | 召回 |
M-y | yank-pop | 召回前一个 |
C-M-w | append-next-kill | 下一个删掉内容和上次删除合并 |
C-h v | describe-variable | 显示变量内容 |
(none) | append-to-buffer | 将区域中内容加入到一个buffer中 |
(none) | prepend-to-buffer | 将区域中内容加入到一个buffer光标前 |
(none) | copy-to-buffer | 区域中内容加入到一个buffer中,删除该buffer原有内容 |
(none) | insert-buffer | 在该位置插入指定的buffer中所有内容 |
(none) | append-to-file | 将区域中内容复制到一个文件中 |
(none) | cua-mode | 启用/停用CUA绑定 |
C-x k kill当前buffer