久久首页
免费软件
网络时尚
网络学堂
专题讨论
网络资源
网络游戏
网络文档
网络产品
网站导航: 首页 > 操作系统 > Linux 学堂讨论 | 推荐文章

EMACS 速成


2004-05-18  
 
Emacs 启动:

直接打emacs, 如果有X-windows就会开视窗. 如果不想用X 的版本,

就用 emacs -nw (No windows)起动.

符号说明

C-X 表示按住CTRL键, 然後按X, 再把CTRL, X一起放开.

M-X META META

在没有META键的电脑上, M-X 等於先按 ESC键, 接著按 X键.

Sun上面META键就是菱形的那个键.

有些系统META键就是ALT键.(或者某一边的ALT键)

C-X或 M-X的X没有大小写分别.

Emacs按键命令基本上是一串C-chr和M-chr组成的.

超过两个以上的按键命令, Emacs会在萤幕最下面一行显示你按过什麽.

这一行叫作mini buffer

结束Emacs按 C-x C-c

取消执行 C-g

有些Emacs命令会跑很久, 可以用C-g中断之. 按错键也可以按C-g取消.

上下移动 C-p 向上 (previous line) C-n向下(next line)

左右移动 C-f 向右 (forward) C-b 向左 (backward)

其实Emacs内部没有行的概念, 把一篇文章放在一个大buffer里面,
(defun NAME (ARGS-LIST)

"注解" ; optional

(interactive) ; optional

BODY)

定义一个叫NAME的函式. BODY 是一堆expression.

注解是用来给C-h f显示的.

(interactive) 表示这个函示会和user/buffer作用.

(interactive "B") 表示执行此函式先问user一个buffer的名字,然後当作参数传给它. (如, 当user透过key-binding或者 M-x 呼叫此函式时)
(interactive "BAppend to buffer:
r")
问user buffer name时, 提示号 Append to buffer:

此function有两个引数,第一个是B, 就是buffer

第二个是r, region


隔开.

(interactive "p") 用C-u 设的prefix 把它当作参数传给我.

预设值==4. C-u C-f 向右移四个字

一些lisp 函式:

(list 1 2 3 4) 产生 '(1 2 3 4)

(car '(1 2 3 4) 1

(cdr '(1 2 3 4) '(2 3 4)

(cons 1 '(2 3 4)) '(1 2 3 4)

(cons 1 2) (1 . 2)

(cons 0 (cons 1 (cons 2 nil)))

等於 '(0 1 2)

{list 是用 pair 串起来的,

用C 表示:

pair: {Object *first, Object *second};

*(pair[i].first) == i;

pair[i].second == pair[i+1]; }

(cons '(1 2) '(3 4)) '((1 2) 3 4)

(setq a 1)

(1+ a) ; a+1

(+ 2 a) ; a+2

(* 1 2 3 4)

(current-buffer) ; 传回目前buffer的资料物件

(switch-to-buffer (other-buffer))

(set-buffer)

(buffer-size)

(setq current-pos (point))

(point-min)

(point-max)

(message "Hello") ; 在minibuffer显示Hello

(if (test)

(then-part)

(else-part))

(cond ((test1) BODY1)

((test2) BODY2)

(t OTHER-WISE)

(let ((var1 value) ; local variable

var2 ; no value

(var3 value)
...)

BODY ...)

(lambda (ARG-LIST) ...) 同 defun, 但是没有名字 (anonymous).

可以存到变数去:

(setq hello (lambda () (message "Hello,World")))

(funcall hello)

(goto-char (point-max))

(defvar VAR VALUE "*注解") 如果VAR 不存在才定义. 有注解可以用C-h v 看. 注解打*号表是使用者可以直接改/ 这个变数本来就是给使用者设定用的.可以用 M-x edit-options 来线上设定 (emacs结束就没有了,不过edit-options可以给你所有可修改的变数的列表,你可以放到.emacs档内.(directory-files "./" t "..*")
return a list of files under directory X

(load "xxxx.el") 同#include stdio.h

给使用者设定用的.

可以用 M-x edit-options 来线上设定 (emacs结束就没有了,不过edit-options可以给你所有可修改的变数的列表,你可以放到.emacs档内.(directory-files "./" t "..*")

return a list of files under directory X

(load "xxxx.el") 同#include stdio.h

(setq load-path (cons "~/emacs" load-path)) ; load的search path.
 
发表评论 推荐文章 关闭窗口
 相关内容
- Linux与FreeBSD共存 2004-05-18
- NT与Linux系统的共存 2004-05-18
- 解读LILO错误提示信息 2004-05-18
- LILO配置攻略 2004-05-18
- LILO配置指南 2004-05-18
- Linux与分区 2004-05-18
- 深入理解LILO 2004-05-18
- 搞清linux的用户和组 2004-05-18
- 如何在Linux上启动Quota 2004-05-18
- 在Linux系统中设置磁盘定额 2004-05-18
 
 学堂分类
网络知识操作系统
网络应用网络服务
网页开发网络编程
数据存储网络设备
 文章搜索
 
网站简介 | 广告服务 | 编程支持 | 设计服务 | 诚邀合作 | 访客留言
Copyright © 1999-2004 99NET. All Rights Reserved
版权所有 久久网络工作室
Email:webmaster@99net.net