Archive for the ‘emacs’ Category
org mode
emacs 比较牛的就是通过 eLISP 扩展的各种强大功能。这里写个 org mode 的笔记。为什么弄这个是因为很多事情不记笔记后面就忘了,找了半天记笔记的软件,比如手机上面的,最后觉得像 evernote 这种还收费的是不能要的。google 一下发现 emacs 里面的 org mode 似乎是一个很不错的选择,于是开始使用。
org mode 是一种非常灵活的组织笔记的方式,你可以在你的 project 里面放一个记录文件(跟 git 得思路比较像),也可以在某些地方集中放一些记录文件。记录文件可以用灵活的类似“section”的方式组织起来,里面也可以写文档之类的,插入表格、超链接。另外可以通过 tag,设定 TODO/DONE 的流程,并未其设置 deadline 和 scheduled。另外可以通过缩进获得需要的摘要,或者 sparse tree 进行选择。通过 capture 功能能够将一些临时得想法加入到一个预先设定得文件,这个也支持不同的模板。可以将结果输出到一个 agenda 里面用于全局统筹,也可以输出为 HTML 和 LaTeX,理论上也应该有机会和别的 calendar 同步什么的。整体感觉很不错。
——————
And the waters decreased continually until the tenth month: in the tenth month, on the first day of the month, were the tops of the mountains seen.
在 Emacs 中使用 matlab-mode
嗯,说实在的,要好好支持 Emacs 这种牛 x 的编辑器。最近 matlab-mode 似乎更新了,增加了 CEDET 等的支持,可是不知道为啥跟我的 matlab 结合并不好,唉…
留个链接,以后学习了。
——————
I cannot tell why this heart languishes in silence.
It is for small needs it never asks, or knows or remembers.
Emacs 和 GDB
其实都是 Richard Stallman 同志的作品,我都没学会 -,-bb 这里大概说一下两者结合的的方式。
嗯通过 -g 编译好后,直接 M-x gdb 这样就会激活类似上面的窗口,如果你嫌窗口不够多,可以在启动 Emacs 的时候加入
(setq gdb-many-windows t)
这样就会拥有左上角的 gdb 命令窗口,其实对 gdb 熟悉的人就喜欢直接在这里输入命令了;右上角是 local variable 和寄存器的窗口,我们可以在这里添加监视的变量;中间一般是代码窗口,这里通过 M-x gdb-display-assembler-buffer 显示了汇编代码;左下角是当前的状态;右下角是关于断点的设置。这个比起每次都需要命令更新这些东西还是方便不少。用鼠标点代码窗口可以设置断点。似乎那个工具栏看起来有点作用,还是没搞清楚怎么能用的更好玩一点,继续学习…
==== updated information ====
仔细的看了看 GNU Emacs 的手册,又学会不少新的东西。首先就是光标在那个 GUD 窗口下可以用 key binding 进行调试,比如 C-c 这里基本等价于 C-x C-a 前缀,然后很多 gdb 的命令,如 next/step 可以用 C-c C-n/s 来进行,啊… 其实你 n/s 然后回车也可以的… 比较有意思的是在代码窗口用 C-x C-a C-j 可以跳转,这个跳转很牛!不仅仅向后跳,还可以向前,只是跳转,但不执行,这允许你重复执行某块代码;另外 C-c C-u 是执行到某处。
在 variable buffer 里面用鼠标中键点一下可以直接修改该变量的值。
在 source buffer 里面鼠标左键可以设置删除 breakpoints,加上 Ctrl 可以 disable,右键可以执行到该处,Ctrl + 右键是 jump to。
在 breakpoints buffer 里面可以用空格键激活或者取消,D 删除。
左下角是 stack buffer,显示的是调用栈。
另外有一个 memory buffer 的东西,可以查程序各个段的信息。
这些 buffer 可以用 gud-display-*-buffer 打开。
前面没有理解的是 GUD 其实不仅仅做了 gdb 的前端,它其实是 Grand Unified Debugger,支持很多调试工具,gdb 只是其中之一。
ps: 才发现 debian 一个变态的 DFSG,结果 emacs 的文档居然放在个 non-dfsg 的包里面了…
——————
Life finds its wealth by the claims of the world,
and its worth by the claims of love.

