Tag Archives: emacs

介绍下 org2blog

org2blog 是什么 org2blog 是用来把 org-mode 格式的文章发布到 wordpress 的工具。其实之前使用 webloger.el 也可以发布到 wordpress,不过是 webloger.el 已经基本没人维护了,这个 org2blog 作者支持还很积极,另外 org-mode 还提供了一些额外的方便编辑的方法,所以其实 是个不错的东东。 安装 其实按照上面地址的内容,安装很简单。 git clone http://github.com/punchagan/org2blog.git (setq load-path (cons “~/.emacs.d/org2blog/” load-path)) (require ‘org2blog-autoloads) 依赖 xml-rpc ,添加到 load-path 需要最新版本的 org-mode,我使用的是 emacs 24 里面的 7.7,之前使用 7.5(?) 的时候,遇到了发布的时候会在文章结尾附加 </body></html> 导致 blog 的展现挂掉的问题。 使用 配置 ;; ;; org2blog ;; (require ‘org2blog-autoloads) (setq [...]

emacs 的列编辑

列编辑我觉得是一个编辑器不能缺少的东西。在 vim 里面使用 C-v 就能进入列编辑,然后我通常用到的,也就是 d (删除) 和 I (插入)。在 emacs 里面一直没怎么用上这个,总感觉是操作很麻烦。最近操作了几次,发现也没那么难,呵呵。 emacs manual 里面关于列编辑的页面。emacs 里面那个默认的列编辑不会出来像 vim 里面那样的矩形选区(不过有别的方法好像可以做到),所以当你选择的时候,还是按行来选择的,你只需要关心选择的起始点和结束点之间的那个矩形就好了,你的操作只会在里面起作用。 对应到 vim 的 d,emacs 里面的应该是 C-x r d 或 C-x r k 了吧,对应到 I,应该是 C-x r t string 了吧,不过 emacs 里面这个是替换选择的东西为 string,你要是选个空的,应该就算是插入了吧。还有个 C-x r y 复制,我觉得会这几个应该就基本可以了吧。。

emacs 的 emms 里面的乱码

emms 是基于 emacs 的一个播放器,不过其它他做的应该只是管理音乐,具体播放还是靠 mpg123 或 mplayer 这样的程序。 前几天下了一些 mp3, 这两天就又搞了搞 emms。emacser.cn 有篇文章就是介绍这个的,就不多说了。主要是被编码问题搞死了。 下载的 mp3 的 tag 是 gbk 的,可是设置了 emms-info-mp3info-coding-system 为 gbk 没效果,而用 mp3info 程序看了 mp3 的 tag,确实是 gbk 的,奇怪了就。后来发现 emms 还带了一个 emms-print-metadata 这个程序,这个程序貌似不需要设置编码,他会出来的结果直接就是 utf8, 可就算用这个 (通过设置 (setq emms-info-functions ‘(emms-info-libtag)) ),出来的结果还是乱码。 后来突然想起来是不是 cache 的问题,然后就发现有两个地方可能有 cache,一个是 emms-cache.el 一个是 emms-history.el,把这两个对应的 cache 文件删掉,再运行一次 emms 就没问题了。我还设置了下下面的。 (setq emms-cache-file [...]

elisp 最最初级的一点入门知识

其实上次写 http://wdicc.com/how-i-became-a-emacser 的时候,是想写一点 eslisp 入门的东西的,结果总觉得好像也写不出来什么,就写成另一篇了,呵呵。(看这篇前最好先看看那个吧,那个更入门。) 不过我还是觉得,用 emacs 如果不会一点 elisp,那基本你是用不住的。记那些无聊的快捷键有什么意思,有意思的是你能让 emacs 用你希望的模式工作。今天 twitter 上面看到一个词”计算姬”,感觉很有点意思,呵呵,小蜜就是给你干活的嘛,不要被她折磨就好。 其实主要是我自我感觉目前了解的 elisp 的东西,好像基本就够用了,所以才想写出来,给比我还糊涂的指条明路。 1 数据类型。 elisp 是有类型在里面的,我看好像有什么 sequence, number 之类,具体有哪些不重要,重要的是你使用的时候,比如比较的时候,切记要弄明白他们是什么类型。我找到一个 format 函数,感觉很好用,可以转类型,具体可以查文档,可以多用用。 2 调试 调一个程序的时候,我觉得最基本的就是 print 和 message 这两个函数了吧,加上上面的 format,基本应该能搞定了。在一段 elisp 后面使用 C-x C-e 就能直接执行他,执行之后就能在当前的 emacs 里面起作用,不过对我等菜鸟来说,有时候会遇到一些奇怪的问题,不行就还是再启动一个 emacs 来验证结果吧。 3 emacs 简单设置 掌握了上面两个,基本就可以定义自己的东西了。一般用的是 setq,比如下面这个 ;; 防止页面滚动时跳动, scroll-margin 3 可以在靠近屏幕边沿3行时就开始滚动,可以很好的看到上下文。 (setq scroll-margin 3 [...]

我是怎么从 vim 转向 emacs 的

从尝试用 emacs,到现在基本(有些地方还不是很适应)习惯用 emacs,算起来得有 n 年了,我都忘记最早接触 emacs 是什么时候了。在 2010-3-20 之前尝试过很多次,基本都是记几个快捷键,过几天就又忘记了。后来自己想了下为什么不能持续的原因,我觉得有两个。 1 没有在日常工作里面使用。 之前我的开发工作基本都是直接在某台服务器上面的,这样就开发调试会比较方便,而那些机器一般要不会装 emacs,这样不常用就会导致记住的快捷键过几天就忘记了。最近刚好需要在本机写点程序,也就刚好用上了。 2 不会 elisp。 emacs 的配置文件都是 elisp 写的,而不经过配置的 emacs 就编辑文件来看,我觉得还不如去用 vim,vim 好用多了。我想刚看到 elisp 的时候一般都会觉得这个语言太变态了,全是一堆的括号。。。而不会 elisp 就会导致你只能去机械的复制别人的配置,如果刚好是你想要的,那还好,而如果还想做点小的修改,那就会很郁闷,用起来郁闷,不用可能更郁闷。不爽多了,就干脆不用 emacs 了。 如果你能在日常工作中经常使用,并且会写程序(比如 php,perl 什么的,随便哪个都行),那么对于基本没怎么配置过 .vimrc 的用户来说,切换到 emacs 其实应该还算是一个比较简单的事情。 1 emacs 是无模式的。 这就是说你不用经常去按那个 Esc 来切换模式了。没有模式也就意味着你不能使用像 vim 那么简短的命令了,因为像 a,i,o,h,j,k 这些对 emacs 来说,这些都是正常的输入字符,所以我们不得不在这些字符前面加上 C(control), M(Meta 一般是 Alt), S(shift) 这些前缀。在 [...]

看了 12 怒汉 ( 12 Angry Men )

12 怒汉下了好久了,一直没看,正在看,还没看完就忍不住要写点什么。 俄语实在不好听,忍着看了 10 分钟,这个片子就开始吸引人了。12 个陪审团成员,还有其它人,几乎所有人都认为 20 分钟应该就会完事,因为这之前已经听法院审了三天了。在 12 比 1 的情况下,怎么说服其它人同意小孩是无罪的,这就是整个片子的内容。当然是有理有剧的。 当你手里掌握着别人的生命的时候,你会怎么做?今天上午还看了几集哈佛大学的那个关于公正的课,里面几个例子。 如果你是一个电车司机,刹车失灵了,轨道那头是 5 个工人,开过去肯定会把他们撞死,关键时刻你发现有个叉道,那边是 1 个工人,如果你打方向盘的话,那就是撞死一个人,你会怎么做? 再如果司机不是你,没有叉道,而你当时你站在桥上,你旁边有个胖子,如果把那个胖子推下去,车就会停,你会怎么做? 如果你是一个医生,医院来了 6 个病人,其中一个病的很重,其他几个轻一点。如果你救那个病重的,因为需要的时间会很长,那其它几个就会死。如果你先救那 5 个,那么病重的一个就肯定死,你怎么办? 再如果,来了 5 个病人,他们分别需要移植 5 个器官,可是没有现成的。这时候你想起来旁边屋子里面有一个健康的人,如果把他的器官换给那 5 个人的话,那 5 个人就会得救,当然,这个人会死,你会做么? 还有一个真实的案例。4 个人座船出去,路上遇到风暴,逃到了逃生艇上。没有吃的,里面有个孤儿,不听劝告,喝了海水,病的很严重,其它三个人把那个人杀了,然后挺了过去,得到了救助,到了岸上,他们供认了经过。然后你觉得他是有罪还是无罪呢? 之前还看过一个文章,讲什么是民主的。看 这里 吧。 民主就是少数服从多数么?好像不是这样的,那民主是什么呢,我也不知道,gcd 说他们统治的国家就是民主的,可好像我连想上的网站都上不了,还不经过我同意,这个好像不那么民主。那倒底民主是什么呢? 看了明朝那些事,头一次知道原来内阁是可以驳回皇帝的圣旨的,原来也不是说皇帝说什么就算什么的,他也得和大臣讲道理的。如果给你 10 个人让你管,那很简单,是不是,要干什么的时候,一个人一个人和他说明白就好了。如果是 100 个呢?ok,虽然累点,好像也还是可以说清楚的。可如果是 1000 个呢,显然一个一个说就不靠谱了,得想别的办法,那就是从 1000 个人里面选 10 个人,每人分给他们 99 个人,你有什么事,教会这 10 个人就好了,然后由他们去和手下的 [...]

用 emacs 写 blog

不想看大段文字的可以直接看 http://github.com/wd/work/tree/master/weblogger.el/。 先看看 这个, 我用的weblogger.el 就是从那来的,这个 el 打了 html 支持和 tags(summary) 的支持。 因为写中文 title 的时候,生成的 url 会有一堆的中文字符,看起来就是乱码,不可读,这时候可以在 wp 的后台指定一个 post-slug,url 会根据这个生成。这里我主要是研究了一下对 post-slug 的支持。 weblogger.el 里面 应该是在 weblogger-determine-capabilities 里面判断一下你的 blog 支持的类型,我看了 wordpress 的支持的 methods,里面metaWeblog.newPost, 和 blogger.newPost 应该都是支持的,他应该首选的是 metaWeblog 那个。 然后呢,就是看 wp 的 xml-rpc 文件,里面有个 mw_newPost 对应的就是 metaWeblog.newPost 应该是。在这个函数头试了一把,用的确实是这个。然后就看这里面是怎么处理的了。 这里面最后用的是 wp_insert_post 发的贴子,再看这个函数,能看到里面用的是 post_name 来生成的 post-slug。那么我们只要设置一下这个变量就可以了。在这个函数里面,搜一下 post-name 能看到 [...]

昨天和 sssslang 和 xwl 聚了个会

和 sssslang 倒是很早就见面来着,好像是他那会刚回北京?聊了聊 linux 相关的东西,呵呵。 说起来 linux 用户也挺郁闷的,平时旁边没几个用的,就算是用的,好像也都是 ubuntu 用户,基本就是当 windows 用的,很少主动去挖掘 linux 的一些东西,这些用户比较务实,主要还是在工作方面,开发的东西也都是工作相关的,比较少去做一些无聊的开发。。。所以和他们好像也没什么好聊的。 前两天 #emacs-cn 的 xwl 提议聚会,大家一拍即合,呵呵,定了时间地点,那就聚一个。 聊的东西基本围绕在 emacs, linux, mac 上面。最主要的是 xwl 秀了下他的小黑 macbook 和他的 emacs,sssslang 倒是很详细的问了下 xwl 用的 elisp 扩展,可我对那些不是很明白,我觉得 elisp 就是一个变态的语言。。。对我来说,还记得的可能有下面几个吧。 1 他的 emacs 的标题会显示宋词,会定时变化。 2 有个渐变的扩展,叫做 highlight tail 的,很 cool 吸引小 mm 的必备啊,呵呵。 3 他用了很多定时器,比如执行完编译后,会 split 出来一个新的窗口显示一些编译信息,如果没有错误,那等 3 秒,这个窗口就会自动关掉。还有 [...]

把 emacs 做为 python ide

emacs 用的其实不是很多,不过他实在是个好东西,各种 mode,用熟了肯定能帮你提升不少工作速度。 我用 emacs-cvs , ropemacs( dev 版, > 0.6 ), rope ( > 0.9.2 ), company-mode ( > 0.4.2 ) 这几个软件在 gentoo 里面都还没有,我自己写了几个 ebuild。 装好之后,基本就是 require 一下就好,我没做什么设置,效果如下。 here