emacs 学习小结

从第一篇博文(06.17)到现在(08.09),emacs 学习也有一段时间了.
学习不下苦工,没有兴趣,没有方法是不行的。 如果有一定功底,速成也是可以的。
从我调试跟人package-initialize 知道了它的启动加载过程,就一下了有了
跳出苦海,脱离黑暗,看到光明之感。
目前简化了emacs 配置,让它以自己可以控制的方式运行。
以目前c/c++的环境为目标,分为以下几个部分。
1. 自己添加的一些功能,主要是把vim 的一些好用的方式搬过来了。
  例如:跳转到字符,光标及屏幕的移动,代码折叠的快捷方式等,统一
  放在已ctrl-z 为前缀键的快捷键上。

2. melp 控件的加载及配置.
   目前主要插件为autocomplete, helm, gtags, ace-jump, project-explore
   其它一些插件也有经试用被废弃的. 插件为我所用,尽量少而精. 能读懂插件
   的关键代码最好,时间有限,目前未到那程度,可能也不需要。

3. 从菜单进行的一些客户化操作。

目前一些日常操作开始转向emacs, 例如一些shell操作, dired管理,浏览文件,
也包括书写一些简单代码。 但对于修改一个较大工程文件, 现在用的还不熟,
情急之下,还是拿起我的vim,象风火轮一般一通查呀搜啊改啊。 emacs 还需要实战。
不过emacs已经是我的新欢,爱不释手。正所谓与vim各有千秋,交相辉映。以后就跟这
姐俩过了,看这架势,爱妃大有超过皇后之意,这世道皇帝也难做...


---------------------------------------------------------------------------------------------------------

补充一些具体操作要点.

1.想要在替换字符串中插入回车符,可以在指定替换字符串时敲入C-q C-j来插入回车符。比如:

所有空格替换为回车
M-x replace-regexp <RET>  <RET> C-q C-j  
M-g g        #goto line
ace-jump-mode C-c SPACE char 后可以用C-c C-c 来切换词和字模式

2.emacs  几个子模式, 方便阅读
M-x read-only-mode
M-x view-mode
M-x white-space-mode

3. 设置长行自动换行,删除空格,查看击键历史.
M-x toggle-truncate-lines
M-x trailing-white-space
C-h l #view-lossage 查看击键

4. 代码折叠方式
M-x hs-minor-mode
M-x hs-hide-all,
用M-x 直接敲命令更方便,不用记太多快捷键


5. recent file(最近访问的文件)
虽然在缓冲区中有最近的文件, 但recent file 还有其方便性
菜单中有个recent file.
M-x recent 有几个操作
重绑定到C-x C-r #(recentf-open-files)可以代替 vim 的Mru 插件

6. 文件内的查找替换
C-s
M-x replace
helm 改进了查找命令的体验.
occur (list-matching-lines) 就是vim 的quick fix 窗口
compile 命令也用occur 窗口, occur 窗口使用RET, o, C-o 来操作链接行(goto-occurrence, display-occurrence)
M-x next-error (C-x ` 或者 M-g n)
M-x previous-error(M-g p)
然后可以用C-x z z z z... 等来重复查找后面的error, 爽!

7. Project 等。
Emacs 有Projectile, 可以完成vim 对应 project 的功能, 同时也兼有vim Grepit 全项目查找功能,
 还有灵活的文件转化, 跳转到定义, 查找参考等功能.
 
有semantic 完成语义分析, 与speedbar配合, 可以替代taglist.
还有其它一些功能,与projectile 也有交叉之处.
如此已与vim 插件功能匹配相仿, 完全可以替代vim project下的工作, emacs可以登堂入室.只差练习了.

杂项:
1. 将目录名保存到寄存器:
C-u M-! pwd <RET>
2. 日记功能的使用, 约会实际提醒功能?
M-x calendar
id diary-insert-entry
还可以插入有循环功能日记内容
菜单上有常用的快捷键及功能

写日记是为了显示日记. 快捷方式还是看菜单栏吧.
简计入下:
M-x calendar
s diary-show-all-entry
d diary-view-entries, 显示光标日期处的日记
开机时显示当前的日记:
在.emacs 中添加(diary)
想在日历中标识出哪天有日记, 按m 键或菜单中的Mark All
u 是取消标记.
日记精确到天提醒, 约会提醒则精确到时分了,如下用法:
M-x appt-add

3.学会用grep.
虽说比不了vim 的project-grep 插件,但可以应付了。
projectile grep 命令行也太长了,最好可以不显示命令行

注意:
1. emacs highlighht-mode 与helm-mode 好像有冲突, 在helm-mode下, unhight 不能工作,只能关闭highlight-mode, 此时会关闭所有highlight单词
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值