以下是使用ubuntu系统,用root登录
一、安装emacs
bash:apt-get install emacs
二、emacs启动退出
bash:emacs
bash:emacs filename
emacs默认工作目录是当前用户的home目录
三、emacs快捷键
C是ctrl,M是alt
C-x是同时按,C x是先按ctrl放开后再按x
1、文件操作快捷键
对应菜单栏的File命令
C-x C-f | 打开emacs默认目录下home的某个文件 |
C-x d | 打开文件路径,查看某个文件的属性信息,并在这个文件上进行编辑操作 |
C-x i | 将某个文件的内容插入到当前的缓冲区 |
C-x C-v | 打开一个文件,取代当前缓冲区 |
C-x C-s | 保存文件 |
C-x C-w | 将当前缓冲区文件另存为新文件 |
C-x C-q | 切换为只读或者读写模式 |
C-x C-c | 退出Emacs |
2、编辑操作快捷键
对应菜单栏的Edit命令
C-f | 光标前进一个字符 | M-> | 光标移动到文件尾部 |
C-b | 光标后退一个字符 | C-M-f | 向前匹配括号 |
M-f | 光标前进一个字 | C-M-b | 向后匹配括号 |
M-b | 光标后退一个字 | C-i | 将光标所在位置居中 |
C-a | 光标移动到行首 | M-n or C-u n | 重复操作随后的命令n次 |
C-e | 光标移动到行尾 | C-u | 重复操作随后的命令4次 |
M-a | 光标移动到句首(第一个非空字符) | C-u C-u | 重复操作随后的命令8ci |
M-e | 光标移动到句尾(最后一个非空字符) | C-x ESC ESC | 执行理事命令记录,M-p选择上一条命令,M-n选择吓一跳命令 |
C-p | 光标移动到上一行 | C-d | 删除一个字符 |
C-n | 光标移动到下一行 | M-d | 删除一个字 |
C-v | 向下翻页 | C-k | 删除一行 |
M-v | 向上翻页 | M-k | 删除一句 |
M-< | 光标移动到文件头部 | C-_ | 撤消操作 |
3、窗口操作
操作窗口
C-x 0 | 关闭当前窗口 | C-x s | 保存所有窗口缓冲 |
C-x 1 | 只留下一个窗口 | C-x b | 选择当前窗口的缓冲区 |
C-x 2 | 垂直均分窗口 | C-x ^ | 纵向扩大窗口 |
C-x 3 | 水平均分窗口 | C-x } | 横向扩大窗口 |
C-x o | 切换到其他窗口 |
4、缓冲区列表操作
C-s 字符 | 打开缓冲区列表 | u | 取消标记 |
d or k | 标记为删除 | x | 执行标记的操作 |
~ | 标记为未修改状态 | f | 为当前窗口打开该缓冲区 |
% | 标记为只读 | o | 在其他窗口打开该缓冲区 |
s | 保存缓冲 |
5、程序编译
选择编译语言M-x [language]-mode
选择缩进风格M-x c-set-style
make -k命令调用makefile文件
M-x compile | 执行编译操作 | M-x xdb | 调用xdb调试器 |
M-x gdb | 调用gdb调试器 | M-x sdb | 调用sdb调试器 |
M-x dbx | 调用dbx调试器 |
6、搜索模式
C-s 字符 | 向前搜索字符,查找到的字符以蓝色字体显示 |
ENTER | 停止搜索 |
C-r 字符 | 向后搜索字符,查找到的字符以蓝色字体显示 |
C-s C-w | 以光标所在位置的字为关键字进行搜索 |
C-s C-s | 重复上一次搜索 |
C-r C-r | 重复上一次反向搜索 |
C-s ENTER C-w | 进入单词搜索模式,搜索完毕后,光标停留在查找到的第一个单词的后面 |
C-r ENTER C-w | 进入反响单词搜索模式 |
C-r | 进入查找/替换模式后,该命令进入迭代编辑模式 |
C-M-x | 退出迭代编辑模式,返回到查找/替换模式 |
7、Shell模式
emacs支持shell
M-x shell | 打开Shell |
M-! | 执行Shell命令 |
M-l M-! | 执行Shell命令,命令的输出插入在光标当前位置,而不打开新的输出窗口 |
M-| | 针对某一特定区域执行shell命令 |
M-! M-p | 执行前一条shell命令,同M-!+向上方向键 |
M-! M-n | 执行下一条shell命令,同M-!+向下方向键 |
错误处理:
1、Unable to locate theme engine in module_path:"pixmap"
bash:apt-get install gtk2-engines-pixbuf
2、Client failed to connect to the D-BUS daemon
bash:emacs ~/.bashrc
在最后添加下面两句话
export $(dbus-launch)
export NSS_USE_SHARED_DB=ENABLED