Emacs学习笔记(5):更有效率的编辑

前面学习了Emacs的基本编辑功能。为了让编辑更有效率,还需要了解:

  • 窗口管理
  • 缓冲区管理
  • 搜索和替换
  • 批量处理

 

窗口管理

C-x 2           split-window-vertically           水平分割
C-x 3           split-window-horizontally       竖直分割
C-x 1           delete-other-window             只保留当前窗格
C-x 0           delete-window                      关闭当前窗格
C-x o           other-window                        切换窗格
C-M-v           scroll-other-window             滚动下一个窗格

缓冲区管理

Emacs中,打开新的buffer,不会关闭原有buffer,而是需要手工操作:
C-x C-b          list-buffers               查看缓冲区列表
C-x b              switch-to-buffer       切换缓冲区
C-x k               kill-buffer                关闭缓冲区
其他:可以参考ibuffer.el扩展

搜索和替换

Emacs中的搜索包括增量搜索和一般搜索。增加搜索是每次在前一次搜索的结果基础上继续搜索。在增量搜索时,如果上一次搜索之后进行了其他操作,则需要连续按两次快捷键才能召回关键词。
可以选中区块后在区块内进行搜索

增量搜索

C-s M-x         isearch-forward                向前增量搜索
C-r M-x          isearch-backward            向后增量搜索
C-M-s M-x     isearch-forward-regexp    正则表达式向前增量搜索
C-M-r M-x     isearch-backward-regexp 正则表达式向后增量搜索

一般搜索

M-x               search-forward                 向前搜索  
M-x               search-backward              向后搜索 
M-x               search-forward-regexp     正则表达式向前搜索 
M-x               search-backward-regexp 正则表达式向后搜索

替换

M-x                replace-string                  替换  
M-x                replace-regexp                正则表达式替换

询问替换

M-% M-x       query-replace              询问替换
C-M-% M-x   query-replace-regexp 正则表达式询问替换

取消搜索

C-g 取消搜索,光标返回搜索前的位置
RET结束搜索,光标停留在当前位置。

批量处理

批量处理的命令应该有很多,这里列出2个:
选中区域, M-x untabify:将 TAB 字符转换为空格
选中区域, M-x indent-region:对齐文本块

posted @ 2012-02-18 21:48 心内求法 阅读(...) 评论(...) 编辑 收藏