Emacs学习笔记之主模式笔记
% 模式相关——————————————————————————
这里经常用的也就各种语言相对应的模式,有些就没再写进去,比如f90等模式
Fundamental mode | 基本模式 | |
text ~ | 文本模式 | |
mail ~ | 邮件模式 | 书写邮件 |
RMAIL ~ | 邮件模式 | 阅读和组织邮件 |
view ~ | 只读模式 | |
shell ~ | shell | 运行shell组件 |
ange-ftp ~ | FTP | 下载查看远程系统上的文件 |
telnet ~ | 登陆远程系统 | |
outline ~ | 大纲模式 | 书写大纲 |
indented text ~ | 自动缩进文本 | |
picture ~ | 绘制线条图形 | |
nroff ~ | 按照nroff对文本排版 | |
TEX ~ | 按照TEX对文本排版 | |
latex ~ | 按照Latex对文本排版 | |
C ~ | ||
C++ ~ | ||
fortran ~ | ||
emacs LISP | 写Emacs LISP程序 | |
LISP | 写LISP程序 |
% 常用操作————————————————————————————
首先要记住两点①C代表Ctrl,M代表Esc(个别机子上有M键),return表示回车键,-直接用打空格就行;②C-g表示退出或者说取消当前命令,命令输错了也不用慌张。
下面会按照命令概要、快捷键、函数全称、[详细备注]的顺序说明。
- 打开文件 C-x C-f find-file
- 重打开文件 C-x C-v find-alternate-file
读取另一个文件来代替刚才读入的那个,会在辅助输入区中显示当前文件路径并把光标移动到目录上。
- 插入文件 C-x i insert-file
将某文件插入到光标所在处。
- 保存文件 C-x C-s save-buffer
- 另存为文件 C-x C-w write-file
与save-buffer一样不过该方法默认为你想修改文件名,如果不修改文件名的话,直接ruturn,那么和save-buffer效果一样,保存到同名文件中。另外可以用find-file+write-file用来复制没有权限的文件。
- 退出Emacs C-x C-c save-buffers-kill-terminal
- 帮助 C-h
C-h t:教程 C-h k 组合键:查找组合键的作用
C-h f 函数名:查找函数的用法说明,和k的功能类似
- 版本信息 M-x version return
- 自动换行 M-x auto-fill-mode return
这是个小模式,自动换行只是针对当前的缓存区,只是显示的时候换行,实际上并不会,在状态栏主模式旁边会显示Fill
% 光标移动——————————————————————————————
- 向右移动一个字符 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 move-begining-of-line
- 移动到一行的结尾 C-e move-end-of-line
- 向左移动一个句子 M-a backward-sentence
- 向右移动一个句子 M-e forward-sentence
- 向下移动一个段落 M-} 这里}{都需要用shift打出
- 向上移动一个段落 M-{
- 移动到下一页 C-x ] forward-page 如果没有分页符,则跳到缓冲区的结尾
- 移动到上一页 C-x [ backward-page
- 移动到下一屏 C-v/PgDn scroll-up
- 移动到上一屏 M-v/PgUp scroll-down
- 重新绘制屏幕 C-l recenter-top-bottom
重新绘制屏显画面,并且将光标所在行放在屏显中心
% 删除相关———————————————————————————————
- 命令重复执行 M n digit-argument
- C-u n universal-argument
让后面的命令重复执行n次,另外后者可以缺省n,默认为4次
- 撤销 C-x u undo
- 删除字符 C-d delete-character
- 删除下一个单词 M-d kill-word
- 删除行 C-k kill-line
删除从光标位置到行尾的字符,在空行使用时,则删除行本身。因此要删除两次才算删除完整的一行。
- 恢复删除内容 C-y yank
恢复被kill类命令(连续)删除的文本,比如连续两次使用C-k删除两行,用C-y可以一次性恢复。连续的kill类命令直接不能有其他命令,否则不能看作一次连续操作。被DEL或者C-d删除的内容不能被恢复。默认最多存储30次操作。
- 删除块 C-w kill-region
这里需要下面的标记文本块,标记后才可以删除掉。
- 文本标记 C-@ or C-space set-mark-command
- 标记交换 C-x C-x exchange-point-and mark
剪切就用C-w + C-y配合使用
- 标记段落 M-h mark-paragraph
将mark放置在段落结束处,并把光标移动到段落开头。
- 复制块 M-w kill-ring-save
- 依次恢复被删除内容 M-y yank-pop
循环恢复近30次被删除内容
% 排版以及其他——————————————————————————————
- 段落重排 M-q fill-paragraph
- 块重排 无 M-x fill-region return
- 交换字符位置 C-t transpose-chars
- 交换单词位置 M-t transpose-word
- 交换上一行的位置 C-x C-t transpose-lines
- 交换段落位置 无 transpose-paragraphs