运行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