您的位置:首页 > 其它

emacs使用经验积累

2008-09-11 18:09 225 查看
emacs使用经验积累
1.M-X,然后连续两次TAB键,emacs会弹出所有支持的命令。
例如:出现gdb,xdb,shell,c++-mode等等,指示我们可以利用m-x后面再加上这些命
令进入相应的模式,进行操作。
举个例子:我们要安装了一个新的输入法集成到emacs中,那么怎么在emacs中调出来呢?
我们首先要设定新的输入法,因为emacs自带了一个输入法
我们按下m-x组合键,接着输入设定输入法的命令set-input-method,再输入具体输入法(例如eim-wb)名称即可。
2.自带编程语言的lisp的介绍
与其它编辑器不同的是,emacs的扩展性依赖lisp语言。因为emacs的软件架构是多语言组成,
c语言完成基础,由lisp完成装修。用户通过编写lisp程序,达到客户化或者说个性化。emacs通过加载指定目录下
的lisp程序,来调整自身的行为。lisp语言是一种解释型的,emacs软件内部装有一个解释器,所以能动态的运行程序。
lisp语言主要由两部分组成,一部分是列表,另外一部分是原子。列表和原子的关系类似干文件夹和文件,同样也类似干
集合和元素。列表由原子和子列表组成,可以存在空列表。
列表的符标由一对括号完成,原子的标识由一对双引号或者空格完成。
例如:(10 40 50 30 34 009009 hee oow eere "wqerqwerqwerqewr")这里面10 40 50...等等都是原子,因为它由
空格分隔,而最后一个也是原子,因为它是一对双引号分隔,在双引号内部,一切都是普通字符包括空格和括号。一系列原子组成
了一个列表。lisp没有类型,没有长度限制,再也没有其它的组成了。

一个lisp程序就一个列表,运行lisp程序也叫到对一个列表求值,简称为求值。没有平常编程语言的流程控制语句,也没有一般编程
语言的数据类型自定义,很奇怪,很与众不同,是因为我们见识太少了。
具体lisp解释器是如何求值呢?很简单,以列表的第一个原子为函数,以其余组成元素为参数,调用函数,如果函数执行成功,返回一个结果
否则解释器输出一个错误。
例如:
(+ 10 30)ctrl+x ctrl+e执行这个程序,也叫做对这个列表求值,emacs会输出40的。注意光标要在最后面,否则会报错,具体原因,后面解释。
(concat "hello" "world")执行这个程序,emacs输出helloworld。
如果仅仅是只有这些,则lisp不能做什么有用的东西。为了能更有用,lisp语言提供了变量和函数两个设施。
原子中包括了变量和常量两种,因为lisp中只有两种组成部分,所以把原子划分成两种部分---变量和常量。如何区别常量和变量呢?
因为常量方便处理,又划分为字符串常量和数字常量。字符串常量很直接,就是以一对双引号分隔的原子。数字常量,就是以空格分隔的纯数字的原子。
变量就是原子中除去常量部分的。一般来说,是以空格分隔的非纯数字的原子。

列表提供了定义函数的特殊列表。以关键词defun标识开始 接下来函数名 再接下来参数列表,后面是可选的文档字符串,后面是可选的交互关键词
再接下来是函数定义。
例如:

defun function_name(arglist)
“document string”
(interactive "hello,world/n")
function-body
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: