Emacs 基本用法

转自:http://hi.baidu.com/jiyeqian/item/f98a8cff66498dea1b111faf

Emacs 基本用法

不重动 Emacs 让 .emacs 配置文件生效
有四个函数可以做到:eval-last-sexp,eval-region,eval-buffer 和load-file
M-x  eval-last-sexp 使.emacs中光标前的那一条语句立刻生效。
M-x  eval-region   使.emacs中选中的region中的语句立刻生效。
M-x  eval-buffer   使当前的buffer中的设置语句立刻生效。
M-x  load-file ~/.emacs  载入.emacs文件,从而使其中的设置生。


在线帮助(Online-Help)

C-h c 显示快捷键绑定的命令
C-h k 显示快捷键绑定的命令和它的作用
C-h l   显示最后100个键入的内容
C-h w 显示命令被绑定到哪些快捷键上
C-h f   显示函数的功能
C-h v 显示变量的含义和值 或者 M-x describe-variable
C-h b 显示当前缓冲区所有可用的快捷键
C-h t 打开emacs教程
C-h i 打开info阅读器
C-h p 显示本机Elisp包的信息
C-h C-f 显示emacs FAQ
C-h a 查找与之匹配的命令

打开与关闭
打开文件:C-x C-f
退出Emacs:C-x C-c
用另一文件替换当前打开的文件:C-x C-v
显示可打开的buffer:C-鼠标左键 或者 C-x C-b
打开另一个buffer:C-x b
关闭一个buffer:C-x k

重要快捷键(Important)
C-g 停止当前运行/输入的命令
C-x u 撤销前一个命令
C-x C-q 当前buffer设为只读
M-x revert-buffer RET (照着这个输入)撤销上次存盘后所有改动
M-x recover-file RET 从自动存盘文件恢复
M-x recover-session RET 如果你编辑了几个文件,用这个恢复

光标移动
跳到指定行:M-g g(M-x goto-line)
到的第N字节:M-x goto-char
前一屏:M-v 后一屏C-v
行首:C-a 行尾:C-e
上一行:C-p 下一行:C-n
上一词:M-b 下一词:M-f
上一字:C-b 下一字:C-f
上一句:M-a 下一句:M-e
上一段:M-{ 下一段:M-}

大小写转换
大写:M-u(词) C-x C-u(区域)
小写:M-l(词) C-x C-l(区域)
首字母大写:M-c

查找与替换
查找:C-s(向前) C-r(向后)
C-g 回到搜索开始前的位置(如果你仍然在搜索模式中)
使用正则表达式向后搜索 :C-M-s RET
使用正则表达式向前搜索 :C-M-r RET
替换:M-%
使用正则表达式搜索并替换:M-x query-replace-regexp

替换模式中的操作
替换当前匹配 :Space 或 y
不要替换当前匹配:Del或n
仅仅替换当前匹配并退出(替换) :.
替换并暂停(按Space或y继续) :,
替换以下所有匹配 :!
回到上一个匹配位置 :^
退出替换:RETURN 或 q

可在正则表达式中使用的符号
^ 行首
$ 行尾
. 单个字符
.* 任意多个(包括没有)字符
\< 单词开头
\> 单词结尾
[] 括号中的任意一个字符(例如[a-z]表示所有的小写字母)

选择
区域选择:C-@
段落选择:M-h
全选:C-x h

删除
删除光标处所有空格:M-\
光标处产生唯一空格:M-SPC
删除光标处所有空行:C-x C-o
删除一个字母:DEL(向后),C-d(向前)
删除一个单词:M-DEL(向后),M-d(向前)
删除一行:M-0 C-k(向后),C-k(向前)
删除一个句子:C-x DEL(向后),M-k(向前)
kill region: C-w
复制区域到kill ring: M-w
kill through next occurrence of char: M-z char
yank back last thing killed: C-y
replace last yank with previous kill: M-y

窗口操作
C-x o 切换至其他窗格
C-x 0 关闭窗格
C-x 2 水平分割窗格
C-x 3 垂直分割窗格
C-x 1 关闭除了光标所在窗格外所有窗格
C-x ^ 扩大窗格
M-x shrink-window 缩小窗格
C-M-v 滚动其他窗格内容
C-x 4 f 在其他窗格中打开文件
C-x 4 0 关闭当前缓冲区和窗格
C-x 5 2 新建窗口(frame)
C-x 5 1 删除其它所有窗口
C-x 5 f 在新窗口中打开文件

输入特殊字符
C-x 8 R 输入 ®
C-x 8 o 输入 °
C-x 8 C-h 可以得到一份完整的列表

拼写检查
一、使用flyspell进行“在线”拼写检测
1.启用flyspell-mode。Tools-Spell Checking-Automatic spell checking(Flyspell)或者M-x flyspell-mode。在进行输入的时候可以及时对拼写错误进行提醒。
2.提示如何修改:C-c $
二、使用ispell进行“离线”拼写检测
1.基本命令:M-x ispell-region            M-x ispell-buffer
2.数字键进行拼写更改,空格键在不更改的情况下直接跳到下一个拼写错误处。
3.退出检测:C-g
4.检测某个单词的拼写:M-$

DontZap

其它

设置变量的值:M-x set-variable <RET> VAR <RET> VALUE <RET>
用另一种编码打开重新打开当前文档:M-x revert-buffer-with-coding-system
显示行号:M-x setnu-mode
C-u + 数字 + 操作     重复执行”数字“次”操作“
段落(行)居中对齐:M-S
简单的凯撒位移加密解密方法:M-x rot13-region
打开shell:M-x eshell 或者 M-x shell
启动Octave:M-x run-octave

删除选中区域的所有空行: M-x flush-lines ^$
使用 Emacs daemon: http://tigersoldier.is-programmer.com/2010/2/5/tips-on-emacs-daemon.15404.html
插入当前日期和时间:C-u M-! date


参考:
http://grid.tsinghua.edu.cn/home/liulk/publish/emacs/EmacsFaq.html
http://blog.ipattern.org/archives/296
http://forum.ubuntu.org.cn/viewtopic.php?f=68&t=146721
http://pluskid.lifegoo.com/wiki/EmacsTip.html
<think> 我们参考了引用[1]中提供的Emacs命令介绍和使用案例,以及引用[2]中关于乱码问题的提示。用户询问的是Linux系统下Emacs的使用方法,我们将重点介绍基本操作、常用命令和解决常见问题(如乱码)的方法。 注意:回答中需要包含引用标识,并且按照系统指令要求使用正确的LaTeX格式(尽管本问题可能较少涉及数学公式,但若有则需遵守)。 由于用户的问题集中在使用方法上,我们会从启动、基本操作、常用命令、定制和故障排除等方面进行介绍。 </think> ### Linux系统下Emacs的使用方法 以下是Emacs在Linux操作系统下的核心使用方法,基于引用内容整理[^1][^2]: #### 1. 安装与启动 ```bash # 安装Emacs (Ubuntu/Debian) sudo apt install emacs # 启动Emacs emacs ``` 安装时若提示命令未找到,可使用`apt install emacs`或选择特定版本如`emacs-gtk`(带GUI)或`emacs-nox`(纯终端版)[^1] #### 2. 基础文件操作 | 快捷键 | 功能描述 | |--------------|-------------------| | `C-x C-f` | 打开/创建文件 | | `C-x C-s` | 保存当前文件 | | `C-x C-w` | 文件另存为 | | `C-x C-c` | 退出Emacs | > 注:`C-`表示Ctrl键(如`C-x`=Ctrl+X),`M-`表示Alt键 #### 3. 编辑导航 | 快捷键 | 功能描述 | |--------------|------------------------| | `C-s` | 向前搜索 | | `C-r` | 向后搜索 | | `C-v` | 向下翻页 | | `M-v` | 向上翻页 | | `C-a`/`C-e` | 行首/行尾 | | `M->`/`M-<` | 文件首/文件尾 | #### 4. 缓冲区管理 ```bash C-x b # 切换缓冲区(输入缓冲区名) C-x C-b # 查看所有缓冲区列表 C-x k # 关闭当前缓冲区 ``` #### 5. 撤销与恢复 ```bash C-/ 或 C-x u # 撤销操作 C-g # 取消当前命令(紧急退出) ``` #### 6. 高级功能 ```bash M-x replace-string # 批量替换文本 M-x compile # 编译程序 M-x shell # 打开终端 M-x gdb # 启动调试器 ``` #### 7. 解决乱码问题 引用[2]指出乱码通常由编码不匹配引起: 1. 启动时指定编码:`emacs --no-site-file --eval='(set-language-environment "UTF-8")'` 2. 配置文件添加: ```lisp (prefer-coding-system 'utf-8) (setq default-buffer-file-coding-system 'utf-8) ``` 3. 会话中临时切换:`M-x revert-buffer-with-coding-system` 选择`utf-8` #### 8. 定制扩展 配置文件路径:`~/.emacs.d/init.el` ```lisp ;; 示例:安装use-package扩展管理器 (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) (package-initialize) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值