Emacs 实践

Posted on By jcxs2014

多行操作

  • 删除行前的空格或者其他字符 ```
  • C-space 标记起始点(左上角)
  • 移动到要删除的最后一行的字符后一个字符保证要删除区域在高亮部分
  • C-x r c ```

  • 在行前插入字符 ```
  • C-space
  • 选择
  • C-x r t
  • 输入需要的字符 ```

矩阵操作命令

- C-space	set-mark-command	标记矩形区块的一个角(光标标记其相对的角)。
- C-x r k	kill-rectangle	剪切当前的矩形区块,并将其保存在一个特殊的矩形区块缓冲区中。
- C-x r d	delete-rectangle	删除当前的矩形区块,并不为粘贴而保存它。
- C-x r c	clear-rectangle	清除当前的矩形区块,使用空白字符替换整个区域。
- C-x r o	open-rectangle	打开当前的矩形区块,使用空白字符填充整个区域,并将该矩形区块的所有文本移动到右边。
- C-x r y	yank-rectangle	在光标处,粘贴上一次剪切的矩形区块的内容,将所有的现有文本移动到右边。

使用emacs 格式化(整理)源程序

1、如果想要整理整个文件
M-x mark-whole-buffer  或者 C-x h    //选中整个文件
M-x indent-region 或者 C-M-\         //格式化选中

2、只是整理某个函数
M-x mark-defun 或者 C-M-h         //选中函数
M-x indent-region 或者  C-M-\        //格式化

删除末尾换行符^M

1. M-% (esc % on Mac X11 Emacs)
2. ctrl-q ctrl-m RET (specifies ^M to replace)
3. ctrl-q ctrl-j RET (specifies a line return as the replacement)
4. ! (runs the replace on the entire file)

删除空行

M-x flush-lines RET ^[[:space:]]*$ RET

查找替换

  • 逐个查找
      C - s向下查找
      C - r向上查找
      按下C - s后输入要搜索的词,emacs会即时显示当前光标后第一个搜索到的结果,按C - s会跳到下一个结果,按C - r会跳到上一个结果。
      按Enter结束查找或按C - g取消查找回到原来的地方。
      按下C - s 或 C - r后,按M - p显示上一个搜索词,M - n显示下一个搜索词。类似C - p是上一行,C - n下一行。
      按下C - s或 C - r后,输入要查找的词的头几个字,然后按C - w 会补全当前位置的单词。
    

2019-03-29