📄 00000047.htm
字号:
<BR> 假如为了必免按键定义冲突, 你可以将快速键定义在 alt- <BR> <BR> 可惜 tty 下不能这样定义。 (这是我喜欢 X-Windows 的一个主要原因) <BR> <BR> 以下是我偏好的设定 <BR> <BR> <BR> (define-key global-map '(alt ?0) 'delete-window) <BR> <BR> (define-key global-map '(alt ?1) 'delete-other-windows) <BR> <BR> (define-key global-map '(alt ?2) 'split-window-vertically) <BR> <BR> (define-key global-map '(alt ?3) 'split-window-horizontally) <BR> <BR> (define-key global-map '(alt ?o) 'other-window) <BR> <BR> (define-key global-map '(alt ?k) 'kill-buffer) <BR> <BR> (define-key global-map '(alt ?s) 'save-buffer) <BR> <BR> (define-key global-map '(alt ?d) 'switch-to-buffer) <BR> <BR> <BR> 此外建议你不要 override Emacs 原本的按键设定。 因为很多按键会在别的 <BR> <BR> mode 被重新定义, 而他们会被定义到有关连意义的指令。 (如 C-n 会定义到「 <BR> <BR> 往下..」) <BR> <BR> <BR> * open new frame <BR> <BR> <BR> C-x 5 2 是非常方便的功能。 关闭请用 C-x 0。 比如当你在分割视窗 (C-x <BR> <BR> 2 或 3), 想要独立放大单一 window 时, 可以在那 window 按 C-x 5 2。 此外 <BR> <BR> 别忘了 C-z 可以暂时缩小目前的 frame。 每个 frame 有自己的 minibuffer。 <BR> <BR> <BR> 善用 frame 在某些方面会比 screen+window (another "windows" under <BR> <BR> ttys) 好用。 <BR> <BR> <BR> * regular expression search <BR> <BR> C-u C-s 可以直接使用 regular expression 来 isearch。 这是「非常」好用的 <BR> <BR> 功能。 <BR> <BR> <BR> * narrowing <BR> <BR> narrowing 是一个蛮好用的功能。 <BR> <BR> 因为 replace-string 或 replace-regexp 会代换至 buffer 尾端, 假如你只想 <BR> <BR> 要代换一部分的字串, 请先将那区域 narrow 起来。 <BR> <BR> C-x n n (narrow) <BR> <BR> C-x n w (还原) <BR> <BR> 在 .emacs 中加上 <BR> <BR> (put 'narrow-to-region 'disabled nil) ;enable without confirmation <BR> <BR> 可以必免每次它都会询问你 <BR> <BR> <BR> 比如说你可以先将一个 region narrow 起来 <BR> <BR> 接着 M-x replace-regexp 『^』『 』 <BR> <BR> 就可将此段落缩排 4 个空白。 <BR> <BR> <BR> * evaluate emacs expression under buffer <BR> <BR> Emacs 是一个 Lisp Environment, 这代表大部份的程式(用 lisp 写的那几十万 <BR> <BR> 行) 都是可以在执行期间动态改变的。 由於 Lisp 的性质, 你不太可能因为写错 <BR> <BR> 程式而造成 Emacs core dump, 相对於 C, 你只要在几十万行程式中弄错一个 <BR> <BR> pointer,整个程式会立刻 crash 掉。 <BR> <BR> <BR> 即使你不需要利用 Lisp customize, 了解 lisp 对於编辑工作也是很方便的。 <BR> <BR> <BR> 在大部份编辑 buffer 中, 在一个 lisp expression 後按 C-c C-e 即可 <BR> <BR> evaluate 这个 expression。 <BR> <BR> <BR> 比如在你可先在你的日记 buffer 上直接打入以下程式: <BR> <BR> <BR> (setq index 1) ※ <BR> <BR> (setq chinese-week '("日" "一" "二" "三" "四" "五" "六")) ※ <BR> <BR> (while (< index 20) <BR> <BR> (insert "\n* -- 1/" (number-to-string index) <BR> <BR> "(" (nth (mod (+ 4 index) 7) chinese-week) ") --") <BR> <BR> (setq index (1+ index))) ※ <BR> <BR> <BR> 并在标示 ※ 的地方都按 C-c C-e, 则 Emacs 就会在 buffer 中直接插入 <BR> <BR> <BR> * -- 1/1(五) -- <BR> <BR> * -- 1/2(六) -- <BR> <BR> * -- 1/3(日) -- <BR> <BR> ... <BR> <BR> <BR> 假如你不喜欢 lisp, 当然也写个 perl script 也不错, 在不过得小心的是 <BR> <BR> perl 处理某些中文字元得作特殊的 quoting。 <BR> <BR> <BR> 同样的技巧蛮适合处理 regular expression 的替换。 请善用 replace-regexp <BR> <BR> 这个函式。 在目前缺乏中文的 sed 或 perl 的情况下, 这是我所知唯一能处理 <BR> <BR> 中文 regular expression 的方法。 <BR> <BR> <BR>-- <BR>看着她笑,他忽然觉得她好寂寞好寂寞。 <BR>她静静的看了他半天,才柔柔慢慢的:「 你好像已经找到了。」 <BR> <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.112.103.235] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -