常用 emacs 命令 备忘
原创
©著作权归作者所有:来自51CTO博客作者wbj0110的原创作品,请联系作者获取转载授权,否则将追究法律责任
C-x C-f 寻找文件。
C-x C-s 保存文件。
C-x C-b 列出缓冲区。
C-x C-c 离开 Emacs。
C-x 1 关掉其它所有窗格,只保留一个。
C-x u 撤销。
C-x s 保存多个缓冲区
C-x b foo <Return> 以回到文件“foo”的缓冲区。
C-g 撤销 M-x 指令
C-s 是向前搜索
C-r 是向后搜索
再按一次,搜索下一个出现的位置, C-g 来终止搜索
C-x 字符扩展。 C-x 之后输入另一个字符或者组合键。
M-x 命令名扩展。M-x 之后输入一个命令名。
M-x grep-find 全局查找字符串
M-x replace-string 字符串替换
字符串替换命令需要两个参数――被替换的字符串和用来替换它的字符串。每个
参数的输入都以换行符来结束。
或者 M-x repl s<Return>changed<Return>altered<Return>
C-x 1 (在上方窗格里)输入 C-x 1 关掉下方窗格。
C-x 2 将屏幕划分成两个窗格。
C-x o (“o”指的是“其它(other)”),将光标转移到下方的窗格。
C-M-v 命令滚动另外一个窗格
C-x 4 C-f 在一个新开窗格里打开文件。(输入 C-x 4 C-f,紧跟着输入一个文件名,再用 <Return> 结束)
C-k : kill-line 剪切当前行从光标到行末的内容
C-a C-k 默认情况下,要想剪切整行,只需光标跳转到行首,然后C-k就可以了
C-w : kill-region 剪切光标选中的内容
Emacs 中的剪切不叫剪切(cut),叫kill
复制(copy)不叫copy ,叫kill-ring-save (这个可以理解为先kill掉放到kill-ring
里,然后再把它save回来).
另外还有一个操作叫delete ,delete 与kill的区别是kill掉的内容会被放到
kill-ring(剪切环)而delete掉的内容则直接删掉了,除了进行undo操作外没法找回删
掉的内容。而kill 掉的内容很容易从kill-ring中取回。有了kill-ring的Emacs可以
说是具有了多个剪贴板。
说一说默认的与kill yank delete 有关的键绑定
- C-w kill-region
- C-k kill-line
- C-M-k kill-sexp 这个比较复杂 它表示删除一个结构单元。对不同类型的文档(c java
文本 等)一个结构单元表示不同的含义。你可以尝试一下。(比如,你移动到一个
括号的开头,按下,则删除整个括号内的内容) - C-d delete-char
- M-d kill-word
- C-backspace backward-kill-word
- M-w kill-ring-save 复制。
- C-y yank 粘贴。
- 另外在按下C-y后,按一次或多次M-y 会循环取出kill-ring中的内容,然后贴到当
前位置 。
- 但是kill-ring毕竟不是操作系统的剪切板,kill-ring里的内容是没法在其他程序
里利用的。所以要用好它又设及到与系统剪切板的同步的问题了。 在Windows 上
Emacs已经默认解决了这个问题。在Linux上没有。因为Linux的剪切板不只一个。所
以问题要复杂许多。
下面列出主要术语的译词对照,并给出注释说明:
command 命令
cursor 光标
scrolling 滚动
numeric argument 数字参数
window 窗格 [1]
insert 插入
delete 删除 [2]
kill 移除 [2]
yank 召回 [2]
undo 撤销
file 文件
buffer 缓冲区
minibuffer 小缓冲
echo area 回显区
mode line 状态栏
search 搜索
incremental search 渐进式搜索 [3]