Emacs下的term基本上和其他的term一样。有两个模式,行模式和字符模式。使用C-c C-j进入行模式,C-c C-k进入字符模式。默认是字符模式。进入字符模式会发现C-x啥的不管用了,C-x被映射到了C-c,因此切换buffer就成了C-c b。开始有些不习惯,不过也无所谓。
Showing posts with label emacs. Show all posts
Showing posts with label emacs. Show all posts
Tuesday, 15 January 2008
Term的配置
Emacs下的term基本上和其他的term一样。有两个模式,行模式和字符模式。使用C-c C-j进入行模式,C-c C-k进入字符模式。默认是字符模式。进入字符模式会发现C-x啥的不管用了,C-x被映射到了C-c,因此切换buffer就成了C-c b。开始有些不习惯,不过也无所谓。
Sunday, 6 January 2008
Emacs Jabber和IMified Blogger
应该是把内容给了机器人IMified,它收到后帮我贴到博客上。另一个好处是在GMail里多了一个内容的备份——聊天记录权当备份。完美了。但IMified可够忙的,会话是一个有状态的活动;不管到哪都得记着,这不大容易,也比较耗资源。够难的。
Friday, 4 January 2008
Emacs中写Blogger
之前,emaspeak出了一个Google Blogger的客户端。用了用觉得还是麻烦,甚至都不如直接去浏览器里写来得简单;这还是写英文;中文干脆就是不工作的。因此就没有接着用。后来发现可以用imified@imified.com这个GTalk的机器人写博客,又加上是用Emacs Jabber做的GTalk客户端,因此Emacs就和Bogger 很自然地结合起来了。imified@imified.com有时候会有些慢,大多时候反应很迅速的。写Blogger的使用方法也很简单,只是问标题,内容,标签啥的。不像Emacspeak那么繁琐——甚至都要人写XML,因此推荐大家用Emacs + Jabber +
GTalk + imified@imified.com;每个都很独立,每个也都很有用,结合起来完成一个较复杂的任务,而并没有增加复杂度;真是完美的结合。
Wednesday, 21 November 2007
windresize简介
windresize可以用来管理emacs里的窗口,改变窗口大小、切换窗口,创建或去除窗口等。
Emacs里的窗口在没有windresize的时候,也可以改变大小,比如:
C-x ^ ---- 增加高度
C-u -1 C-x _ ---- 减少高度
等,功能都在但用起来就不方便。
windresize用上下左右方向键来改窗口大小,比如用<-就是向左变大,非常方便。
不用windresize的话,窗口切换用C-x o。用了windsize,用o或n
切到下一个窗口,用p返回上一个窗口。很方便。
安装:
cd /usr/share/emacs/site-lisp
wget http://www.cognition.ens.fr/~guerry/u/windresize.el
在.emacs里:
(require 'windresize)
使用的时候可以M-x windresize,之后就可以用方向键变窗口大小了。也可以将其与某个键绑定,比如和F2绑定。
(global-set-key [f2] 'windresize)
按F2进入windresize,调整窗口后按F2或Enter退出,取消调整按q推出。
还可以用2横着分两个窗口,按3竖着分两个,1删除当前窗口。都很好用。目前的一个问题是帮助窗口的退出设计的不好,不过这些作者已经知道,很快会修复。另一个提上日程的功能是改变选中背景色来表示选中的窗口。很快会推出。
Emacs里的窗口在没有windresize的时候,也可以改变大小,比如:
C-x ^ ---- 增加高度
C-u -1 C-x _ ---- 减少高度
等,功能都在但用起来就不方便。
windresize用上下左右方向键来改窗口大小,比如用<-就是向左变大,非常方便。
不用windresize的话,窗口切换用C-x o。用了windsize,用o或n
切到下一个窗口,用p返回上一个窗口。很方便。
安装:
cd /usr/share/emacs/site-lisp
wget http://www.cognition.ens.fr/~guerry/u/windresize.el
在.emacs里:
(require 'windresize)
使用的时候可以M-x windresize,之后就可以用方向键变窗口大小了。也可以将其与某个键绑定,比如和F2绑定。
(global-set-key [f2] 'windresize)
按F2进入windresize,调整窗口后按F2或Enter退出,取消调整按q推出。
还可以用2横着分两个窗口,按3竖着分两个,1删除当前窗口。都很好用。目前的一个问题是帮助窗口的退出设计的不好,不过这些作者已经知道,很快会修复。另一个提上日程的功能是改变选中背景色来表示选中的窗口。很快会推出。
Wednesday, 14 November 2007
Saturday, 3 November 2007
初识Scala
毫无疑问scala将成为一门伟大的语言,Java最无间的伴侣。就像在Emacs的实现里,C语言和lisp语言的关系一样。Java相当于C而scala就是Java里的lisp。这是因为C没有那么动态而Java也没有那么动态。Lisp足够的动态而scala也动感十足。因此理想类Emacs的应用是以Java为骨架而以Scala为血肉。
Tuesday, 21 August 2007
Emacs里有幽灵
一个是黑色的,一个是白色的。每一句话他们都仔细读过并相互讨论,他们肯
定理解键入的每一句话,不管这句话是用汉语、英语、Java、C、Ruby、Perl
还是Python写成,他们全明白。他们只是不怎么发言。他们沉默的时候并不代
表他们没有表达。嘈杂的时候他们也在忙碌,动作很轻很轻,很不容易察觉。
沉静的黑夜里,能听到他们寂静的呼吸,一声是黑的,一声是白的。他们沉静
在乌盆里。雨夜,细细的雨;他们也在倾听。每一个逗号句号,每一个分支判
断,还有野蛮的退出。他们在倾听。有时候小青蛙也叫一下。他们也听到,就
把两个括号轻轻抖一下,有时候出来一颗豆子,有时候出来一颗谷子,有时候
什么也出不来,就碰一下,发出啵的声音。
定理解键入的每一句话,不管这句话是用汉语、英语、Java、C、Ruby、Perl
还是Python写成,他们全明白。他们只是不怎么发言。他们沉默的时候并不代
表他们没有表达。嘈杂的时候他们也在忙碌,动作很轻很轻,很不容易察觉。
沉静的黑夜里,能听到他们寂静的呼吸,一声是黑的,一声是白的。他们沉静
在乌盆里。雨夜,细细的雨;他们也在倾听。每一个逗号句号,每一个分支判
断,还有野蛮的退出。他们在倾听。有时候小青蛙也叫一下。他们也听到,就
把两个括号轻轻抖一下,有时候出来一颗豆子,有时候出来一颗谷子,有时候
什么也出不来,就碰一下,发出啵的声音。
Wednesday, 1 August 2007
Emacs和Screen
Emacs不那么安分,跟谁谁都有冲突。可见Emacs不仅仅是一个编辑器。Screen是控制台下的屏幕管理器,使用C-a开头的键绑定;于是就和Emacs有冲突了。一般地,先运行screen,在screen下运行emacs比较合理。但这样C-a就在emacs下没法用了。还有另一个办法,先运行emacs,然后运行M-x eshell,在 eshell里运行screen。这样就彼此避开了。没办法,emacs就这么酷。
Tuesday, 12 June 2007
Emacs Jabber
Emacs Jabber很好用,可以在emacs里和gtalk上的朋友聊天。我的emacs是cygwin下的。下面是我的配置:
(require 'jabber)
(custom-set-variables
'(jabber-alert-message-hooks
(quote
(jabber-message-wave
jabber-message-echo )))
'(jabber-alert-message-wave "absolute_path_to_notify.mp3")
'(jabber-connection-ssl-program ssl-program-name)
'(jabber-connection-type (quote ssl))
'(jabber-network-server "talk.google.com")
'(jabber-nickname "jashy")
'(jabber-port 5223)
'(jabber-server "gmail.com")
'(jabber-username "someone")
'(ssl-program-name "/usr/bin/openssl"))
;;;; Define play-sound-file --> mpg321 -q FILE
(defun play-sound-file (FILE)
(call-process "mpg321" nil 0 "-q" FILE))
因为我选了jabber-message-wave的提醒方式,而我的emacs又不能播放声音(play-sound-file不工作,因此我重写了这个方法。用的是比较简单的实现。emacs的版本是:22.1.50.1
(require 'jabber)
(custom-set-variables
'(jabber-alert-message-hooks
(quote
(jabber-message-wave
jabber-message-echo )))
'(jabber-alert-message-wave "absolute_path_to_notify.mp3")
'(jabber-connection-ssl-program ssl-program-name)
'(jabber-connection-type (quote ssl))
'(jabber-network-server "talk.google.com")
'(jabber-nickname "jashy")
'(jabber-port 5223)
'(jabber-server "gmail.com")
'(jabber-username "someone")
'(ssl-program-name "/usr/bin/openssl"))
;;;; Define play-sound-file --> mpg321 -q FILE
(defun play-sound-file (FILE)
(call-process "mpg321" nil 0 "-q" FILE))
因为我选了jabber-message-wave的提醒方式,而我的emacs又不能播放声音(play-sound-file不工作,因此我重写了这个方法。用的是比较简单的实现。emacs的版本是:22.1.50.1
Friday, 9 March 2007
Emacs Org Mode Intro
* 入门
也是刚刚用emacs的Org-Mode. 但一下子就喜欢上了. 在这里作一个简单的介绍,
希望各位也能喜欢.
** 安装
Org-Mode在emacs 22里默认就有. 如果用的是emacs 21, 可以到[[http://staff.science.uva.nl/~dominik/Tools/org/][
Org-ModeHomepage]]下载装上.
建议直接使用emacs 22. 就是为了Org-Mode(和sdcv-mode), 不惜花了好几个
小时的编译时间, 转到emacs 22下的. 自己觉得还是值得的.
** 配置
现在假设大家的Org Mode都已经装上. 在~/.emacs里加入下列几行来配置一
下:
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(setq org-hide-leading-stars t)
(setq org-cycle-include-plain-lists t)
把.org的文件和Org-Mode关联起来. 后两行会在下节解释.
* 组织文档
Org-Mode说自己比较适合记笔记, 维护ToDo列表, 做项目计划等. 个人觉得
写文档也是不错的. 比如现在我的大部分文档都是这么写的.
Org-Mode能认得的文档结构有两种, 标题和列表. 其他的就理解为正文了.
** 标题
Org-Mode的标题用`*'标识. 注意作为标题`*'需要在最前面.
一个`*'标识一级标题, 两个二级, 以此类推.
标题太深就满目标题了. 这时可以设置(setq org-hide-leading-stars t)
把前面的`*'隐藏起来, 只留一个. 看起来清爽写. 这个在Org-Mode里叫
`Clean View'.
标题可以用Tab键折叠起来. 也可以用Tab展开. Org-Mode这种根据上下文判
断按键意图的办法很好. 用起来简单, 不必记其他的命令.
** 列表
列表有两种, 一种是数字的, 比如:
1. xxx xxx
aaa
2. xxx xxx
还有以`-',`+', `*'打头的, 比如:
- xxx xxx
aaa
- xxx xxx
两者可以结合着用.
默认列表不能用TAB键折叠(像标题那样). 如果想用TAB键折叠, 需配置以下
变量:
(setq org-cycle-include-plain-lists t)
** 局部编辑
标题多了, 挪来挪去不是很方便, 可以用局部编辑的功能, 只编辑一部分这
样清爽些.
`C-c C-x b', 会开另一个buffer(emacs叫indirect buffer), `C-x o'换过
去, `C-x 1'全窗口, 编辑起来很舒服. 保存还是保存到原来的文件.
** 创建标题
除了用`*'来创建标题外, 还可以用`M-'(Alt + 回车键)创建标题.
这样会创建和上一个标题同级的标题.
还可以用ESC + 左箭头使标题左移, ESC + 右箭头右移. 当然增减`*'也能
达到一样的效果.
Org-Mode的键设定很简便. 比如Ctrl + 回车可以创建一个新的段落.
** 标题间的移动
文档一大, 翻看起来就比较麻烦. 标题间的移动是这个变得简单了.
到同级上一个标题: `C-c C-f'
到同级下一个标题: `C-c C-b'
到上级标题: `C-c C-u'
Overview快照: `C-c C-j'. 这个也很实用. 会另开一个视图, 显示文档结
构, 用上下箭头可以选编辑哪一部分.
* 链接
Org-Mode的链接很好玩. 链接可以是类似超级链接的东西, 也可以是别的.
** 链接的格式
[[target][链接描述]]
链接的描述是可选的; 如果没有链接描述, 链接本身就作为描述. 这听起来
还比较的合理. 和HTML里的超级链接是一致的, 比如:
http://www.example.com
用Org-Mode的表达就是:
[[http://www.example.com]]
** 链接的形式
链接不光是http, 有多种形式. 我最喜欢的是`shell'. 比如:
[[shell:madplay *.mp3&][madplay *.mp3]]
访问链接就是播放了.
还有就是`file'. 可以用来连到另一篇文档.
也可以连到本文档的某个地方. 有点类似搜索的功能. 一般不用.
** 访问链接
用`C-c C-o'访问链接. 如果链接是超级链接, 就直接用emacs配置的浏览器
连了. 如果是文件, 就用emacs打开.
** 编辑链接
链接写好后Org-Mode就把`target'隐藏起来, 把链接描述加亮放在那. 看着
很整洁. 编辑的时候开始会糊涂一下. 编辑用`C-c C-l'. 下面会依次提示
改链接target和描述. 这么改还不那么糊涂.
* 制表
一般的文档只要标题, 正文, 列表, 链接和表格就足够了.前4项前面已经讲
过. 下面说一下制表.
** 创建表格
用`C-c |'来创建表格. 按下`C-c |'后, 会提示:
Table size Columns x Rows [e.g. 5x2]:
直接回车会创建一个5x2的表格:
| | | | | |
|---+---+---+---+---|
| | | | | |
如果需要别的可以按需输入.
** 表格的整理
在表格里, TAB键的语义是切换到下一个单元格. TAB还有整理表格格式的作
用, 比如表格乱得像下面这样:
| 月份 | 工资 | 支出 |
|---+---+---|
| | | |
按一下TAB, 就可以整理好:
| 月份 | 工资 | 支出 |
|------+------+------|
| | | |
当然如果你用TAB切换下一个单元格的话, 那个表格也不可能乱成那样. 随
时会整理.
我比较喜欢表格的自动整理功能, 因此就不介绍如何把这个功能禁掉了.
** 电子表格
表格可以进行计算. 可以计算的表格就叫电子表格.
**** 加法
我们来算一个加法. 如下表:
| 季度 | 收入 |
|------+------|
| 1 | 100 |
| 2 | 100 |
| 3 | 100 |
| 4 | 100 |
| 总和 | |
总和是多少呢? 可以在cell(2,6)按`C-c +'来算一下, 计算的结果用`C-y'
可以插入到相应的地方.
**** 更复杂的计算
上面加法很好用. 而且对我来说也足够用了. 有复杂计算要求的人可以接着
看. 和我一样的人可以就此打住了.
Org-Mode的电子表格计算使用emacs calc包. `calc'包理论上什么都能算
的. 不过我们这里只算一个乘法, C = A x B.
创建表格:
| A | B | C |
|----+----+---|
| 12 | 13 | |
| 13 | 14 | |
| 14 | 9 | |
| 19 | 20 | |
#+TBLFM: $3=$1*$2
在表格下写一行:
#+TBLFM: $3=$1*$2
注意顶格写.
把光标放到表格上, 按`C-u C-c *', 表格计算就会启动.
也是刚刚用emacs的Org-Mode. 但一下子就喜欢上了. 在这里作一个简单的介绍,
希望各位也能喜欢.
** 安装
Org-Mode在emacs 22里默认就有. 如果用的是emacs 21, 可以到[[http://staff.science.uva.nl/~dominik/Tools/org/][
Org-ModeHomepage]]下载装上.
建议直接使用emacs 22. 就是为了Org-Mode(和sdcv-mode), 不惜花了好几个
小时的编译时间, 转到emacs 22下的. 自己觉得还是值得的.
** 配置
现在假设大家的Org Mode都已经装上. 在~/.emacs里加入下列几行来配置一
下:
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(setq org-hide-leading-stars t)
(setq org-cycle-include-plain-lists t)
把.org的文件和Org-Mode关联起来. 后两行会在下节解释.
* 组织文档
Org-Mode说自己比较适合记笔记, 维护ToDo列表, 做项目计划等. 个人觉得
写文档也是不错的. 比如现在我的大部分文档都是这么写的.
Org-Mode能认得的文档结构有两种, 标题和列表. 其他的就理解为正文了.
** 标题
Org-Mode的标题用`*'标识. 注意作为标题`*'需要在最前面.
一个`*'标识一级标题, 两个二级, 以此类推.
标题太深就满目标题了. 这时可以设置(setq org-hide-leading-stars t)
把前面的`*'隐藏起来, 只留一个. 看起来清爽写. 这个在Org-Mode里叫
`Clean View'.
标题可以用Tab键折叠起来. 也可以用Tab展开. Org-Mode这种根据上下文判
断按键意图的办法很好. 用起来简单, 不必记其他的命令.
** 列表
列表有两种, 一种是数字的, 比如:
1. xxx xxx
aaa
2. xxx xxx
还有以`-',`+', `*'打头的, 比如:
- xxx xxx
aaa
- xxx xxx
两者可以结合着用.
默认列表不能用TAB键折叠(像标题那样). 如果想用TAB键折叠, 需配置以下
变量:
(setq org-cycle-include-plain-lists t)
** 局部编辑
标题多了, 挪来挪去不是很方便, 可以用局部编辑的功能, 只编辑一部分这
样清爽些.
`C-c C-x b', 会开另一个buffer(emacs叫indirect buffer), `C-x o'换过
去, `C-x 1'全窗口, 编辑起来很舒服. 保存还是保存到原来的文件.
** 创建标题
除了用`*'来创建标题外, 还可以用`M-
这样会创建和上一个标题同级的标题.
还可以用ESC + 左箭头使标题左移, ESC + 右箭头右移. 当然增减`*'也能
达到一样的效果.
Org-Mode的键设定很简便. 比如Ctrl + 回车可以创建一个新的段落.
** 标题间的移动
文档一大, 翻看起来就比较麻烦. 标题间的移动是这个变得简单了.
到同级上一个标题: `C-c C-f'
到同级下一个标题: `C-c C-b'
到上级标题: `C-c C-u'
Overview快照: `C-c C-j'. 这个也很实用. 会另开一个视图, 显示文档结
构, 用上下箭头可以选编辑哪一部分.
* 链接
Org-Mode的链接很好玩. 链接可以是类似超级链接的东西, 也可以是别的.
** 链接的格式
[[target][链接描述]]
链接的描述是可选的; 如果没有链接描述, 链接本身就作为描述. 这听起来
还比较的合理. 和HTML里的超级链接是一致的, 比如:
http://www.example.com
用Org-Mode的表达就是:
[[http://www.example.com]]
** 链接的形式
链接不光是http, 有多种形式. 我最喜欢的是`shell'. 比如:
[[shell:madplay *.mp3&][madplay *.mp3]]
访问链接就是播放了.
还有就是`file'. 可以用来连到另一篇文档.
也可以连到本文档的某个地方. 有点类似搜索的功能. 一般不用.
** 访问链接
用`C-c C-o'访问链接. 如果链接是超级链接, 就直接用emacs配置的浏览器
连了. 如果是文件, 就用emacs打开.
** 编辑链接
链接写好后Org-Mode就把`target'隐藏起来, 把链接描述加亮放在那. 看着
很整洁. 编辑的时候开始会糊涂一下. 编辑用`C-c C-l'. 下面会依次提示
改链接target和描述. 这么改还不那么糊涂.
* 制表
一般的文档只要标题, 正文, 列表, 链接和表格就足够了.前4项前面已经讲
过. 下面说一下制表.
** 创建表格
用`C-c |'来创建表格. 按下`C-c |'后, 会提示:
Table size Columns x Rows [e.g. 5x2]:
直接回车会创建一个5x2的表格:
| | | | | |
|---+---+---+---+---|
| | | | | |
如果需要别的可以按需输入.
** 表格的整理
在表格里, TAB键的语义是切换到下一个单元格. TAB还有整理表格格式的作
用, 比如表格乱得像下面这样:
| 月份 | 工资 | 支出 |
|---+---+---|
| | | |
按一下TAB, 就可以整理好:
| 月份 | 工资 | 支出 |
|------+------+------|
| | | |
当然如果你用TAB切换下一个单元格的话, 那个表格也不可能乱成那样. 随
时会整理.
我比较喜欢表格的自动整理功能, 因此就不介绍如何把这个功能禁掉了.
** 电子表格
表格可以进行计算. 可以计算的表格就叫电子表格.
**** 加法
我们来算一个加法. 如下表:
| 季度 | 收入 |
|------+------|
| 1 | 100 |
| 2 | 100 |
| 3 | 100 |
| 4 | 100 |
| 总和 | |
总和是多少呢? 可以在cell(2,6)按`C-c +'来算一下, 计算的结果用`C-y'
可以插入到相应的地方.
**** 更复杂的计算
上面加法很好用. 而且对我来说也足够用了. 有复杂计算要求的人可以接着
看. 和我一样的人可以就此打住了.
Org-Mode的电子表格计算使用emacs calc包. `calc'包理论上什么都能算
的. 不过我们这里只算一个乘法, C = A x B.
创建表格:
| A | B | C |
|----+----+---|
| 12 | 13 | |
| 13 | 14 | |
| 14 | 9 | |
| 19 | 20 | |
#+TBLFM: $3=$1*$2
在表格下写一行:
#+TBLFM: $3=$1*$2
注意顶格写.
把光标放到表格上, 按`C-u C-c *', 表格计算就会启动.
Subscribe to:
Posts (Atom)