当前位置:文档之家› Emacs使用手册

Emacs使用手册

Emacs使用手册
Emacs使用手册

Emacs使用手册

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-和M-组成的.

超过两个以上的按键命令,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

里面,所以C-f(forward)就是向档尾移动,C-b(backward)

是移回去的意思,一次一个字.

翻页下一页C-v(view next screen)

上一页M-v

翻页时,上一页末尾会留一点在萤幕最上面,以维持连续性.

Emacs在游标接近萤幕最下方时会自动跳半页,把档案往前挪一点,

方便阅读.

重画萤幕C-L

Emacs里面游标的专有名词叫point.point==游标目前的点

游标一次跳一个字(word)M-f往後跳M-b

注意C-f与M-f,C-b与M-b的对称性.

移到行头C-a行尾C-e

移到句首M-a到句尾M-e

(M-a到上一个句点後面,一个句子的起头.

M-e到句点後面)

移到档头M-<档尾M->

删除游标目前指的/後面的字C-d

前面的字DEL(Delete键)

DEL的正名叫Rubout(Rub out)

M-DEL往回删一个字(word)

M-d往前删(游标後面)

C-k删至行尾(kill)

M-k删到一句子结尾(删到句点)(kill)

注意Backspace=C-h在Emacs下是help的意思

後面有(kill)的,表示此删除的动作是kill,不太等於delete.

emacs会把kill掉的东西放到kill ring去,算是一种暂存的地方,

以後可以叫出来.见yank说明.

Undo:C-x u

C-_等於C-x u有些DEC终端机,C-/就是C-_

有时等於C-Shift--

重复执行

举例,向右移8个字,C-u8C-f

C-u在Emacs里是蛮特别的,用来设定一些引数(argument/repeat count)给其後的命令.

C-u20C-n向下移20行

有一个特别的例外,C-u3C-v不是翻三页,而是整个萤幕向上移三行.据说这比较有意义.

C-u10C-x u UNDO10次

给C-L一个引数会怎麽样:

C-u0C-l会重画萤幕,并且把目前的行移到萤幕第一行.

另外,C-u100等於M-100

C-u数字等於M-数字

X windows下,

C-left C-right一次移一个字(word).

C-up C-down移动一段(paragraphs/C语言的话是block)

Home=C-a

End=C-e

C-Home=M-<

C-end=M->

PgUp PgDn=M-v C-v

设定重覆次数更加简单,

比如要向右移10个字C-1C-0right-arrow

就是按住CTRL,然後打10就对了,比C-u10简单.

Mouse中键用来选取有hi-light的地方.

右键是menu-button

如果不小心按两次ESC,等於M-ESC,会有一个讯息跑出来

说你按到一个被disable的命令.这是高级指令,作者认为

初学者用不道,所以会问你要不要启动它,一般回答no.

如果某一行太长,萤幕显示不下,Emacs会在萤幕最右边打个$,

表示此行未完,右边还有.

把一行拆成两行:在想拆处按Enter即可.

合并两行为一行:在行尾按C-d(或行首按DEL)

Yank:吐出被删掉的(killed)东西.

只要用kill(C-k,M-k等)删除,超过一个字的资料,

emacs就会把它存起来,然後C-y可以把它叫出来.

功能跟Cut&Paste一样.Kill和delete不一样,只有被

kill掉的东西才能用yank吐回来.

游标在同一地方不动,连续kill掉的资料会被当成一次kill掉的,

yank时会一起回来.

被Kill掉的资料是放在称作kill ring的资料结构上面,ring就是个圆圈,被kill掉的东西会依序摆在圆圈上.yank会放回最近一次kill掉的资料.如果不是你想要的话,用M-y可以换.(M-y就是告诉emacs,不对不对,

我不是要这一个,换前一个给我).

M-y要紧接在C-y之後.

拷贝文字的方法==连续C-k几次,把要拷贝的行全部删掉,

然後按C-y弄回来.再到想复制的地方按一次C-y,就成了.

把要拷贝的资料kill掉在yank回来好像很笨.是有比较文明的方法,那就是M-w,不过较麻烦.

首先,要先设标记.Mark用C-SPC或C-@设.然候

把游标移到另一端,按M-w就可以把mark到point间的

字存到kill ring上.point就是游标的意思.

Emacs不会把Mark起来的地方用highlight表示,除非在X下.在X下,可以用M-w来拷贝用滑鼠反白的文字.

kill&yank就是cut&paste的意思.

以上大部份指令对Bash的命令列编辑也有效

档案操作

读档:Emacs术语叫finding a file.

C-x C-f然後在mini-buffer输入档名.输入档名时,SPC键有auto-complete的功能,或者会秀出到目前为止档名前几

个字和输入一样的.(TAB键也有类似功能)

C-x C-f叫find-file

C-x C-s存档(save current file,save current buffer)

C-x s存所有的档

C-x i插入档案把另外的档案的内容读入目前编辑区内

视窗

Emacs把档案读进来,存在buffer中.

我们透过window来看/编辑buffer.

两个视窗会把萤幕切成两部份,他们可以同时显示

相同的,或不同的档案.

对初学者而言,最需要的是记住怎样让不想要的视窗消失:

C-x0关掉目前的视窗

C-x1会让目前的视窗占满整个萤幕(One Window),

取消/关掉其他的视窗.

Emacs里面有许多功能都会开一个小视窗来和使用者沟通,显示讯息.

有时候不会自动消失很讨厌,C-x1就很有用.

另一个功能是如何跳到另一个视窗.

C-x o(other-window)

C-x2把目前的视窗切成两个(水平分割)

C-x3(垂直分割)

C-x4是一串与视窗有关的指令.

C-x4是一串与视窗有关的指令.

C-x5则是扩展到X的视窗,称为frame.

C-x52就是再开另一个X视窗(frame).

多档编辑

C-x C-b看目前有那些buffer(buffer就是emacs放开起的档案的地方). C-x b然後在minibuffer输入buffer的名字,可以切换编辑buffer.

TAB键也有作用.有些内部的buffer(就是没有档案的buffer),

是用*开头和结束,这个也要打,如*scratch*

最候提醒:

C-x1可以把多馀的视窗关掉.

Emacs扩充指令

前面介绍的emacs按键大部份都是C-或者M-的形式.

这是最简单的按法,由一对按键构成一个指令.

Emacs的按键可以超过2个以上.如C-x1或C-x C-b.

一般超过一个按键组合的命令都是用C-x开头.

另外你也可以直接下命令.按M-x之後就可以打一个Emacs命

令来执行.一般这些命令名字都很长,不过都不常用.等一下

我们会介绍一些.还有介绍怎麽把这些命令设成按键指令.

C-x C-c就是结束Emacs.不过一般Emacs很笨重,一旦起动就不轻易

退出.所以比较常用的是C-z

C-z把Emacs暂停,回到命令列.当你下次再需要编辑时,打fg%emacs

就可以把Emacs唤醒.

在X下,C-z会把emacs缩成icon

mode line

emacs编辑画面由编辑区(buffer)状态列(modeline)和对话区(minibuffer)

构成.这里解释modeline显示的讯息.

以下是个范例:

--**-XEmacs:xemacs.qs(Fundamental)----74%-------

由後面往前解释,74%表示游标的位置.

(Fundamental)表示编辑模式.这是最原始的模式.编辑不同种类的文章

可能希望用不同的模式,比如说C-mode,lisp-mode,tex-mode,text-mode

等等.在不同模式下可能多一些按键出来.举例text-mode.

M-x text-mode

可以切入text-mode,这是一般人编辑文字使用的模式.和Fundamental mode 没什麽差异.不过游标移动时,Emacs对一个字的定义就有所不同,因而

M-f M-b等移动一个字,一个段落的指令就可能会停在标点符号的前面.

此时状态列变为...(Text)----70%---

以上说的是Major mode.另外还有minor mode,其实就是一些额外的功能.

比如说,M-x auto-fill-mode则状态列显示(Text Fill).

auto-fill就是自动断行,让文章每行固定有70个字.

M-X fundamental-mode可以变回来.

这里要说明一下,emacs在minibuffer下有auto-completion的功能,

也就是打M-x fund然後按SPC,它会自动补全fundamental-mode,

不用全打.如果有两个以上的选择,它会告诉你.这个功能对

find-file(C-x C-f)等等档案编辑功能也有效.前面提过.

最後解释两个**号.右边的*表示文章被修改过了.

左边的*表示这个编辑区(buffer)可以修改.

有一些emacs的buffer是read-only buffer,就会标成%

%%表示档案是read-only.

C-x C-q可以解开read-only的锁定,无论如何你要改这个编辑区.

这是个toggle指令,如果原来是可以修改的,C-x C-q会把它切成

read-only.

Search

没有Search功能的编辑器简直就是小朋友的玩具.Search

是一项很重要的功能,所以emacs也提供的很完善.

C-s

C-r

M-x re-search-forward

M-x re-search-backward

M-x search-forward

M-x search-backward

以上这些指令是基本的search指令.C-s,C-r是increamental search,

就是你打字的同时,emacs就直接帮你找.一个是forward,一个是backward.找到了怎麽办?按C-g可以取消搜寻,跳回原来的位置.按Enter就让游标

停在找到的地方--此时minibuffer显示:Mark saved where search started 什麽意思?就是isearch帮你在原来的位置设了一个mark,然後把point (cursor)移到新的位置.

想跳回去原先的地方?

C-x C-x就可以了.(exchange-point-and-mark)

C-u C-SPC可以依序跳回前几次设mark的地方.

(C-SPC是设mark,给它一个argument,就是反动作)

(还记不记得C-u可以给後面的指令设一些参数.

有些指令拿这个参数来当作repeat count,

有些指令就只拿来当作on/off,true/false,set/clear而已)

M-x re-search-forward可以让你用regular expression搜寻.

M-x search-forward则没有increamental的功能.

另外一个指令,作用和grep很像:

M-x occure

和search相提并论的就是replace.

M-x replace然後按SPC,就知道了.

Emacs的设定:

Emacs的设定档是$HOME/.emacs

你应该多少知道,emacs是用lisp写成的编辑器,.emacs档也都是

要用lisp的语法设定.emacs用的lisp称为elisp,和一般的lisp差一点点.

有一个info page,emacs-lisp-intro,深入浅出的介绍emacs lisp.

如果你还不会,不懂programming,强烈建议你看这份文件.如果你

会texinfo,你可以把它很漂亮的印出来.(内容一点点而已,两三

天就看完了)

如果你把.emacs搞砸了,进emacs很奇怪,怎麽办?

1.用vi改.emacs:>

2.emacs-q进emacs

Major Modes

一般常见的emacs major mode有

fundamental-mode

text-mode

lisp-mode有自动对括号/重排,直接执行lisp code功能.

c-mode/cc-mode c-mode是比较旧的c-mode,cc-mode应该是

目前新的c-mode.有自动重排/对括号的功能.

也可以在emacs内compile,跳到compiler error

修正错误.执行程式时debug.(配合dbx/gdb)

compile是透过Makefile进行.

tex-mode Tex/Latex编辑模示.可能是打一些奇怪的标点

符号比较方便.

-mode

同lisp/cc-mode.如果是interpreter的话,

emacs通常都可以直接执行/debug.

-mode还有tags的功能,後述.

html-mode,texinfo-mode,sgml-mode:编写html,texi,sgml之用.

w3-mode WWW browser.在x-win上不满意,但可以接受...

Tags

Tags是一个显为人知的功能?所以我想提一下.这不是emacs发明的,而是vi原本的特异功能.emacs只是发扬光大而已.

假设你有一个目录,里面是一个程式的原始码,比如说,tin的原始码,放在~/tin-1.3beta下面.你想看它们.

首先,叫emacs cd到该目录:

M-x cd

然後,建立tag table.

tag table就是一张对照表,记录哪个符号(variable/function call)对映到哪个档案的哪个地方.有这张表,emacs可以让我们快速的在程式码内游走.一般这张表是一个档案,叫作TAGS(大写)

M-!etags*.[ch]

M-!是执行external shell command的意思.etags就是emacs的建表程式.你只要告诉它你的source code在那□即可.

vi的话是使用ctags这个程式,它建出来的档名叫tags(小写).因为

我们介绍emacs,所以不管它.

然後,怎麽看程式?你知道所有的C程式都是由main()开始,所以你想

找到main()在哪个档案.这时只要按M-.然後emacs会问你tag table

在哪里.因为我们已经cd到该目录,直接按enter就好了.然後输入main, emacs就会把你带到main(){...}去.

如果你看到某个程式片断呼叫一个你没看过的函式,你可以把游标

移到该函式的名字上,M-.ENTER就搞定了.

如果emacs找错了(比如有变数和函式同名,emacs跳到变数去),

那你可以用C-u M-.找下一个.

在编辑程式码的时候,M-SPC很有用,它会把游标附近的空白缩成一个.

在其它地方也有效.

Emacs的一些package:

M-x dired(或C-x d)

游走/编辑目录,就是档案总管的意思:)

M-x man就是man page

M-x shell开个command prompt,不过不能跑vi,elm,tin...

M-x gnus读新闻/读信

M-x rmail读信

M-x vm view mail

M-x mh-rmail读信(package mh-e)

M-x mh-smail送信(package mh-e)

强列建议改用emacs读news/bbs.世界会更美好!

读信的话就要看你的感觉.这些读信程式都会把信从系统的mail folder

搬到自己的目录下,占用quota,我不喜欢:p建议elm或mutt.

除非参加mailling list配合procmail.不然不实用.

用mh-e须要装mh这个外部程式,不太好.建议vm或gnus.

写完信,C-c C-c就可以送信.

如果你的资料用rcs/sccs作版本管理,emacs自动会起动version control (minor mode.),c-x c-q变成check-in/check-out.

如何取得更多的资讯:

Emacs的lisp经过多年的发展,已成为完整的self-documenting系统.

很多东西都可以线上找到你要的资讯.

前面说过,或者你已经不小心按backspace遇到了,C-h(就是backspace

的ascii码)在emacs里面是help的意思,它可以带出一串指令.

常用的有:

C-h F Emacs FAQ

C-h t Emacs使用教学

C-h n Emacs NEWS file,介绍最近改版的新功能

C-h i Info https://www.doczj.com/doc/785154911.html,是gnu用来取代man page的系统,

基本上和文字模示的WWW差不多.有许多重要的资讯

可以在这边找到.如果你是新手,建议你在x-win下

看.不然,按键m(menuitem),SPC next page

l(last node:node就是章节的意思)u(up node)

d(directory,索引).BS(Backspace,back a page).

如果全部只按SPC,就跟man一样.

C-h k describe key,告诉你按这个键执行那个lisp function.

C-h f describe function.告诉你function在作什麽.

如果只按SPC,emacs会给你所有lisp函数的列表,和说明.

C-h v describe variable同function.

C-h a apropos的意思(approximate).给lisp function的部份字串,emacs帮你找.

C-h b列出目前所有的keybinding

C-h m mode help.列出目前的mode的特殊说明.

C-c C-h列出以C-c开头的所有key-binding.虽然说Emacs

可以定义按键,可是Ctrl-开头的所有组合大概都用光了,

只有C-c算是可以自定指令.不过有些mode也侵犯这个空间.

目前的convention是C-c留给user,C-c C-

留给package.

有以上这些help,你的emacs/elisp功力会随著时间成长.

Elisp简介:

Emacs有三份手册.第一份是使用手册,第二份是Elisp手册,第三份是Elisp简介.第三份的程度是入门级,值得看.Elisp手册其实也写的

很简单,还教你lisp,不过有点长,适合参考.

因为我lisp没有仔细学过,所以:

以下所言,如有巧合,那才是真的.

Basic data type

字串(string)"Hello,World"

字元(char)?a;问号开头

atom&list:

(1234)是一个list,由4个atom组成.

pair:中间是句点.

(apple.2)

alist(associated list)

就是一堆pair的集合,就像perl/tcl的associative array.

或者说是一个资料库,一堆(key,value)pair.

'((Apple.1)

(Orange.2)

(PineApple.3))

vector(?)

emacs19用vector来表示按键(key strok sequence)

[f1][f2][f1a]

nil就是空的list,或者表示false

t true

Forms

我们写程式最好有样版让我们填空最简单了.

Form就是样版,不过意义不太一样.

Form就是Elisp可以接受的句型.

lisp解译器预设是对list的每个元素求值(evaluate),

除非是special form,有特殊的定义.比如说

(defun FUNC(ARG-LIST)

BODY...)

就是一个special form,用来定义函式,所以FUNC不会被

求值,被当成symbol,...

(quote(LIST))

这也是个special form,叫lisp把(LIST)当做symbol就好了,不要evaluate.

quote很常用,所以有个缩写:

'(LIST)等於(quote(LIST))

'Asymbol可以表示一个Atom,名称叫Asymbol

set可以产生/定义新的变数.

(set'hello1)

;hello=1

;注意我们用'hello,所以lisp不会evaluate hello的值.

这家伙很常用,也有简写.

(setq hello1)

setq就是set quote的缩写.这是个special form,不会对

第二个元素求值.

valuation

在Emacs下,C-x C-e可以执行(evaluate,求值)游标左边的叙述.

结果会出现在minibuffer.

lisp-interaction-mode中C-j可以evaluate,并且把结果append到buffer.

lisp程式由一堆list构成.称为expression.

每个expression都回传回一个值.

有些expression有副作用,如删掉一个字.

(这跟C的int delete_char()意思一样,它传回int,

并且删掉某个char)

定义函式:

(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:\nr")

问user buffer name时,提示号Append to buffer:

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

第二个是r,region

用\n隔开.

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

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

一些lisp函式:

(list1234)产生'(1234)

(car'(1234)1

(cdr'(1234)'(234)

(cons1'(234))'(1234)

(cons12)(1.2)

(cons0(cons1(cons2nil)))

等於'(012)

{list是用pair串起来的,

用C表示:

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

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

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

(cons'(12)'(34))'((12)34)

(setq a1)

(1+a);a+1

(+2a);a+2

(*1234)

(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((var1value);local variable

var2;no value

(var3value)

...)

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

给使用者设定用的.

可以用M-x edit-options来线上设定(emacs结束就没有了,

不过edit-options可以给你所有可修改的变数的列表,你可以

放到.emacs档内.

(directory-files"./"t"\\..*")

return a list of files under directory X

(load"xxxx.el")同#include

(setq load-path(cons"~/emacs"load-path));load的search path. (autoload...)不像load会直接evaluate整个档案,而是需要时再load.

(local-unset-key[(control c)])

(local-set-key[(control c)a]'forward-sexp)

sexp就是一个expession,n个expression如果用括号括起来就算一个.

(expression的定义随语言的不同而有不同,在C,lisp

tex,html,fortran下皆有差异)

Emacs编辑器的使用

Emacs编辑器的使用 Emacs编辑器的使用 A.1Emacs简介 前面已经介绍过一种全屏幕文本编辑工具Vi,这里将介绍另外一种功能强大、应用也非常广泛的全屏幕文本编辑器Emacs。 Emacs全称为Editor MACroS,由于其移植性极好,所以在当今世界的几乎任何一个操作系统上都可以见到它的身影。现在的Emacs已经超出了原来的单一的文本编辑功能,可以用来管理文件、阅读公告板,甚至可以进行WWW浏览。另外Emacs源代码可以使用C、C++、Lisp等语言定制,对一些编程爱好者来说,这无疑是一大福音,同时也使其灵活性大大增加。Emacs编辑器的使用、操作与使用其他标准的文本编辑器一样。键盘上普通的按键用来输入字符,而编辑器的操作命令是通过键盘上的一些特殊的按键来实现的,例如Ctrl、Alt等控制键。与Vi不同,Emacs编辑器没有特定的输入模式与命令模式之分。在输入文本时,也可以执行编辑命令,例如用Ctrl 键来移动光标、保存文件等,而不必忍受切换模式的麻烦。Emacs 编辑器是一个复杂且非常灵活的编辑器.它有好几百个编辑命令。Emacs编辑器也有一些特殊的特性,例如多窗口特性,可以在编辑文件时同时显示两个窗口。也可以同时打开并对多个文件进行编辑与操作,并在屏幕上与之对应的编辑窗口内显示各个文件。 Emacs编辑器通过巧妙地控制、操作工作缓冲区来实现其强大、灵活的功能。Emacs编辑器可以被认为是面向缓冲区的编辑器。在任何编辑器中编辑文件时,该文件将首先被拷贝到工作缓冲区中,而所有的编辑操作都在工作缓冲区中进行。许多编辑器在编辑文件时仅开辟一个工作缓冲区,因此仅能打开一个文件。而Emacs编辑器可以同时开辟并管理多个工作缓冲区,因此允许同时对多个文件进行编辑操作,还可以用编辑缓冲区来保存、删除或拷贝文本,用户甚至可以开辟目己的缓冲区,并在这些缓冲区中保存文本,必要时可以把这些缓冲区内的文本保存到文件中。 A.2Emacs的启动与退出 A.2.1Emacs的启动 通过键入: $ emacs [文件名] 进入Emacs文本编辑程序。如果不键入文件名,则将创建一个新文件而不是打开现存文件(如图A-1所示)。 图A-1Emacs程序界面 无论建立新文件还是打开一个现有文件,在处理方法上都是将其放入缓冲区中。和Vi一样,只要用户不发出存储到磁盘的命令,缓冲区的内容就不会写到文件中。同时这也使用户可以在多个缓冲区之间进行复制、粘贴等操作,非常方便。 A.2.2Emacs的退出 当对文件做必要的修改后需要退出时,有几种可行的途径。如果对文件未做任何修改,则直接使用Ctrl+x、Ctrl+c即可退出Emacs;如果对文件做了修改,则同样使用以上按键组合退出,只是这时系统将询问是否保存文件,如果键入y,则系统保存文件;如果是个新文件,系统提示输入文件名,保存后退出。如果键入n,则系统将再次询问是否真的不保存缓冲区中的内容退出,这时回答yes则放弃所做修改退出;当然也可以先使用命令保存文件,然后再退出,这时可以使用Ctrl+x、Ctrl+s组合键,系统将保存文件并退出。如果要把编辑程序存到另一个和原来文件不同的文件中,可以使用Ctrl+x、Ctrl+w组合键,然后指定新文件名即可。

在Emacs中编写ansys程序的apdl语言用的主mode

在Emacs中编写ansys程序的apdl语言用的主mode 2009-11-08 02:35:53来自: dinglin 我经常需要写ansys的命令流,并且喜欢在emacs里面写。我想用一种颜色显示命令流中的关键字,并且实现循环和判断语句(if)的缩进功能。为了实现这些功能,我为命令流文件编写了它的主模式el文件。 我把这个el文件共享到网上,希望和我一样有同样需要的人可以使用它。 ansys命令流中的关键字很多很多,我把我用过、碰到过的关键字都放在了这个el文件中。您在使用的时候可以把您自己的关键字添加到文件里面。 ;;ansys-mode.el --- Ansys major mode ;;2006/09/24 21:10 (defvar ansys-mode-hook nil) (defvar ansys-mode-map (let ((mode-map (make-sparse-keymap))) ;;make-keymap (define-key mode-map [(control-j)] 'newline-and-indent) mode-map) "Keymap for ANSYS major mode") (add-to-list 'auto-mode-alist '("\\.lgw$" . ansys-mode)) ;;Syntax using keywords highlighting (defconst ansys-keywords-regexp (regexp-opt '("stat" "finish" "wpoffs" "wprota" "wpcsys" "n" "fill" "nscale" "nmodif" "k" "l" "lstr" "ldele" "lptn" "a" "al" "askin" "cyl4" "blc4" "asba" "aadd" "aptn" "btol" "v" "vext" "vsbv" "vadd" "lfillt" "circle" "larc" "adrag" "ksymm" "lsymm" "arsym" "vsymm" "ngen" "egen" "kgen" "vgen" "et" "keyopt" "etcontrol" "mp" "mpdata" "mpchg" "acel" "r" "rmore" "rdele" "e" "emodif" "edele" "type" "mat" "real" "esys" "cp" "endrelease" "latt" "aatt" "esurf" "tb" "tbtemp" "tbdata" "tbpt" "sectype" "secdata" "secoffset" "secplot" "secnum" "slist" "secwrite" "secread" "smrtsize" "mopt" "esize" "lesize" "aesize" "mshape" "mshkey" "lmesh" "amesh" "vmesh" "kmesh" "aclear" "upgeom" "noorder" "nummrg" "numcmp" "flst" "fitem" "nsel" "esel" "ksel" "lsel" "asel" "nsll" "esln" "esll" "asll" "lsla" "esla" "nslk" "lslk" "allsel" "cm" "cmsel" "cmdele" "nlist" "nplot" "elist" "eplot" "mplist" "rlist" "cplist" "csys" "dsys" "rsys" "local" "cscir" "antype" "d" "ddele" "dlist" "dofsel" "dscale" "dcum" "dk" "dsym" "dl" "da" "fcum" "f" "fdele" "fk" "fkdele" "sf" "sfbeam" "sfe" "sfelist" "sfedele" "sfa" "sfcum" "tref" "bfunif" "tunif" "check" "outpr" "outres" "nlgeom" "pstres" "sstif" "nropt" "arclen" "arctrm" "time" "autots" "nsubst" "deltim" "lnsrch" "cnvtol" "neqit" "eqslv" "sbctran" "solcontrol" "solve" "estif" "ekill" "ealive" "psolve" "lswrite" "lsread" "lsdele"

emacs教程

教程简介 本教程讲什么?第 1 页(共4 页) Emacs 是一个流行的无模式文本编辑器,有许多强大的功能。本教程将教您使用 Emacs 的基础知识。为了让您很快熟悉这个优秀的编辑器,本教程先讲述基本概念和常用操作,然后在这基础上提高。 要掌握使用 Emacs 的入门知识,需要经历陡峭的学习曲线。我们的目的是帮您学会起初不熟悉的界面,这样,Emacs 的力量和用途就变得明显。然后您就可以根据本教程末尾的参考资料和技巧,自己去深入研究。 谁应该学习本教程?第 2 页(共4 页) Emacs 的主要用户是程序员和 Web 开发者,他们要充分利用这个强大的灵活的文本编辑器,从而提高他们的效率。另外,对于在 UNIX 或相似环境下履行管理职责的人来说,对 Emacs 的起码的一点熟悉是有用的。 在您开始前第 3 页(共4 页) 在学习本教程的过程中,所有您需要的就是 Emacs 的副本,GNU Emacs 或 XEmacs。 如果您正在运行 Linux,那么您可能已经装入了它。检查的方法是在命令行提示符后输入 emacs。如果什么都没发生(或您得到“command not found”之类的消息),那么请用您的分发版附带的软件包工具来安装其中的一个软件包。 运行另一种操作系统?查看链接在上面的站点,找到您能用的 Emacs 版本。 作者简介第 4 页(共4 页) Brian Bilbrey 是系统管理员、Web 管理员、产品和 PWB 设计师、作家和 Linux 的倡导者。他的名片被人读作 NPS,NPS 代表 No Particular Specialty,意思是“没有特别的专业”。Brian 在日常工作中使用 Linux,象有些人换衣服一样换他的窗口管理器和喜欢的应用程序。新的分发版就象面包和水那样不可或缺,目前,Brian 正在高兴地试用 Gentoo Linux。他的 Linux 活动和其它经历的每日网页更新记录可在 https://www.doczj.com/doc/785154911.html, 找到。 如果您对本教程有技术问题,请和 Brian 联系:bilbrey@https://www.doczj.com/doc/785154911.html,。 起源 概述第 1 页(共3 页) 在本教程中,我们将很快地讲述许多知识。首先我们要讲 Emacs 是什么和它的起源。然后,我们马上开始讲该编辑器的使用:击键、命令、Emacs 环境和您起步所需的一些基本命令。

基于Emacs的LaTeX编辑环境

基于Emacs的L A T E X编辑环境 Date:2011,5 Version:Draft By:siziki Email:siziki@https://www.doczj.com/doc/785154911.html,

目录 目录 第1章L A T E X编辑环境选择 (3) 第2章环境准备 (4) 2.1安装Emacs (4) 2.2安装和配置AUCT E X (4) 2.2.1关于快捷键 (7) 2.2.2关于代码折叠 (8) 2.3RefT E X的安装和配置 (9) 2.4CDL A T E X安装和配置 (13) 2.5yasnippet+auto-complete (15) 2.5.1构建L A T E X模版 (16) 2.5.2构建自定义环境 (17) 2.6关于preview-latex (18) 2.7我的el (18) 2

第1章L A T E X 编辑环境选择 第1章L A T E X 编辑环境选择 使用L A T E X 编辑文档,有很多软件可以选择,构成不同的编辑环境。 在不同的平台环境下,有不同的选择,比如windows 环境下的WinEdit ,TeXMakerX 等,MacOS 下有TeXShop 等,GNU/Linux 下有kile 。还有通用的TeXworks 。 这些软件基本都是为L A T E X 编辑而生的。优点是上手容易、简单易用,当 然简单易用的代价就是配置的灵活性不够。 除此以外还有有些通用的编辑环境,通过适当的配置,就可以实现强大的L A T E X 的编辑环境,这种编辑环境的强大程度往往只取决于你的想象力。 本文就是要介绍基于Emacs 的L A T E X 编辑环境。 有几点需要提前说明: 1.本文使用L A T E X 发行版是TeXLive2010。 2.本文使用的T E X 引擎是X E T E X ,L A T E X+CJK 的情况不涉及。 3.操作系统环境是Debian GNU/Linux ,不同系统环境下的插件安装不同。 3

高斯错误修改总结

A list of error messages and possible solutions - Gaussian calculations can fail with various error messages. Some error messages from .out and .log files - and possible solutions - have been compiled here to facilitate problem solving.- These are divided into:- Syntax and similar errors-语法类错误 Memory and similar errors-内存类错误 Convergence problems -不收敛错误 Errors in solvent calculations -溶剂中的计算错误 Errors in log files-错误文件 - ERROR MESSAGES IN OUTPUT FILES- Syntax and similar errors:End of file in ZSymb.- Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l101.exe Solution: The blank line after the coordinate section in the .inp file is missing. (输入文件空行丢失) Unrecognized layer "X".-(不识别层X) Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l101.exeSolution: Error due to syntax error(s) in coordinate section (check carefully). If error is "^M", it is caused by DOS end-of-line characters (e.g. if coordinates were written under Windows). Remove ^M from line ends using e.g. emacs. To process .inp files from command line, use sed -i 's/^M//' File.inp (Important: command does not work if ^M is written as characters - generate ^M on command line using ctrl-V ctrl-M).- QPERR --- A SYNTAX ERROR WAS DETECTED IN THE INPUT LINE.- Solution: Check .inp carefully for syntax errors in keywords - RdChkP: Unable to locate IRWF=0 Number= 522.- Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l401.exe or- FileIO operation on non-existent file.- [...] Error termination in NtrErr:- NtrErr Called from FileIO.Solution: Operation on .chk file was specified (e.g. geom=check, opt=restart), but .chk was not found. Check that:- %chk= was specifed in .inp-

Emaces编辑器使用

Emaces编辑器 Emaces不仅是一款功能强大的编辑器,也是一款集编辑、编译、调试于一体的开发环境。在Emaces里一切都是在内存中进行的,Emaces只有一种模式,也就是编辑模式,而它的命令全靠功能键完成。与vi相比,Emaces的一个显著特点是可以使用鼠标进行大部分的操作。在Emaces中的功能键基本上都是由C(键)和M(键)的组合完成的。例如,"C-f"就是按住键同时键入,而“C-x C-c”则代表先按住键再同时按住键,再按住键并同时按住键。 1.Emacs的启动与退出 启动Emacs很简单,只需在命令行键入emacs[文件名]即可(若缺省文件名,也可在Emacs 编辑文件后另存时指定),也可从“应用程序”——>“编程”——>“emacs”打开,单击任意键进入Emacs的工作窗口,Emacs的工作窗口分为上下两个部分,上部为编辑窗口,底部为命令显示窗口。用户执行功能键的功能都会在底部有相应的显示,有时也需要用户在底部窗口输入相应的命令,如查找字符串等。Emacs会为每一个作为参数输入的文件打开一个缓冲区,并最多可以显示两个缓冲区。如果在启动Emacs时没有指定任何文件,那么将会看到一个称为*scratch*的缓冲区。 若想要退出Emacs的工作窗口,则可使用功能键“C-x C-c”退出。若当时所编辑的文件还未保存,则系统会提示是否保存该文件等。 2.Emacs的基本编辑 Emacs只有一种编辑模式,因此用户无需进行模式间的切换。下面介绍Emacs中的基本编辑功能键。 1.移动光标 掌握移动光标对应的功能键后,可以在所有类型的终端上工作,工作效率比使用“上”、“下”、“左”、“右”方向键移动光标更高。 C-f 向前移动一个字符 C-b 向后移动一个字符 C-p 移动到上一行 C-n 移动到下一行 M-f 向前移动一个单词 M-b 向后移动一个单词 M-e 光标前移一个句子 M-a 光标后移一个句子 M-} 光标前移一个段落 M-{ 光标后移一个段落 C-a 移动到行首 C-e 移动到行尾 M-<(M加“小于号”) 移动光标到整个文本的开头 M->(M加“大于号”) 移动光标到整个文本的末尾 2.剪切和粘贴 在Emacs中可以使用“Delete”和“BackSpace”删除光标前后的字符,这和用户之前的习惯一致。 M-d 剪切光标前的单词 C-k 剪切从光标位置到行尾的内容

使用IDL的12个小技巧

原文来自michaelgallory 译文有不妥之处请大家指正。 tip 1 put code in files. your choices are to write main-level programs, batch files, and normal procedures/functions. the bulk of your code should probably be in procedures and functions, but there are certainly reasons to use both main-level programs and batch files. main-level programs are handy for setting up a situation and allowing you to enter commands accessing the variables in the program after it has run. batch files are good for including code that needs to be typed in multiple locations. 把代码存放在文件中。你可以选择写主程序,批处理文件和常见的过程或函数。大量的代码应该是包含在过程和函数中,但是为什么要用主程序和批处理文件,这肯定是有它的原因的。主程序有利于环境的创建,在程序运行后你还可以输入命令来访问它的变量。批处理文件有利于存储那些需要在多个位置键入的代码。 tip 2 place your main routine last in a file and name the file the same as this routine plus a ".pro" extension. alternatively, you could put each routine in its own file with the same name as the routine plus a ".pro" extension. following this advice will save a big headache someday. when you manually compile your code, this tip doesn't matter. do this if you want idl to automatically find your code (and you will eventually, probably tomorrow). 把你的主程序放在文件的最后,并把此程序名作为文件名,以".pro"为扩展名。或者你可以把每个程序单独放在一个文件里,以程序名作为文件名,以".pro"为扩展名。这样做的好处是以后会给你省很多麻烦。当你手动编译你的代码时,这个方法是没什么用的。如果你想要idl自动找到你的代码时(你最终肯定要的,可能就是明天),就要用这个方法了。 tip 3 be aware of short integers. the default integer in idl is a 16-bit ("short") integer which has a range of -32,768 to 32,767. it is used in situations like: n = 5 where no specific type of integer is specified. if you want to change the default integer, put compile_opt defint32 at the beginning of every routine where you want to change the behavior. or, always specify the type of integer you want, like n = 5l to create a long integer (32-bit). 注意短整型。idl中默认的整型是16位(“短”)整型,它的取值范围是-32,768到32,767。它用于下例情况下: n = 5 这里没有指定整数的类型。如果你想要改变默认的整型,键入: compile_opt defint32 在每个你想改变状态的程序的开头,或总是指定你想要的整型类型,如: n = 5l 创建一个长整型(32位) tip 4 put compile_opt strictarr at the beginning of every routine you write. the explanation is a bit subtle, but doing this will save you a day's work sometime. it comes down to the fact that both arr(5) and arr[5] can index into the array arr.

Linux知识点总结1

第一讲Linux基础 1.1Linux的定义:Linux是一种UNIX操作系统的克隆,它由Linus Torvalds以及网络上组织松散的黑客队伍一起从零开始编写而成,Linux的目标是保持和POSIX的兼容. 1.2Linux特征:Linux具备现代一切功能完整的UNIX系统所具备的全部特征,其中包括真正的多任务、虚拟内存、共享库、需求装载、共享的写时复制程序执行、优秀的内存管理以及TCP/IP网络支持等; 1.3Linux特点:免费、开源 高效安全稳定 可移植、平台无关、支持多种硬件平台 用户界面丰富 网络功能强大 支持多任务、多用户 开发者众多、社区活跃 1.4Linux版本:内核版本和发行版本 其中内核版本命名规则:“主版本号.次版本号.修正号” 1.5Linux发行版本:(1)RedHat/Fedora Linux (2)SuSe Linux (3)Debian Linux (4)Ubuntu Linux (5)Slackware Linux (6)红旗Linux (7)CoreOS 1.6Linux应用:个人桌面应用 红帽 中科红旗 Ubuntu 企业服务应用 虚拟化平台(KVM、Docker) 应用服务平台 嵌入式平台(物联网平台) uClinux NMT RT-Linux 1.7Linux安装:(1)Vmvareworkstation安装 (2)SSH安装 (3)Linux安装 (4)Linux配置 网络的配置 进入Linux,并打开控制台 切换目录: cd/etc/sysconfig/network-scripts/ 对ifcfg-eth0文件进行vi编辑 设置IP地址,10.21.3.103/255.255.255.0/

嵌入式linux学习心得(精选多篇)

嵌入式linux学习心得(精选多篇) 第一篇:嵌入式linux学习内容 知识结构 1嵌入式处理器与裸机程序开发2linux系统管理3linux 应用程序开发4linux驱动程序开发5linux内核开发与系统移植 一、处理器 1arm处理器工作模式2arm系统寄存器3arm寻址方式4arm汇编指令集5arm环境c语言编程6arm中断与异常7ads 集成开发环境 8裸机程序开发(串口、lcd、时钟、led、按键……) 二、系统管理 1linux定制安装2linux命令详解 3samba、nfs、tftp、wireshark使用4shell编程 三、应用程序开发 1gcc、gdb、makefile2文件、时间编程

3多进程、多线程程序设计4进程间通讯5网络编程 6qt图形化应用程序开发7android图形化应用程序开发 四、内核开发 1linux内核配置与裁剪2linux内核模块开发3根文件系统制作4进程子系统5内存子系统6proc文件系统7系统调用8内核定时器9内核异常分析 五、驱动程序开发 1字符设备驱动程序2总线、设备、驱动模型3硬件访问技术4中断处理5input设备驱动6platform驱动程序7pci、usb 驱动程序8网卡驱动程序9触摸屏驱动程序xx串口驱动程序 学习顺序 1嵌入式处理器与裸机程序开发2linux系统管理3linux 应用程序开发4linux内核开发基础5嵌入式linux环境搭建6linux驱动程序开发7深入学习linux内核 第二篇:嵌入式linux学习步骤 嵌入式linux学习步骤 作者:phantom时间:xxxx-8-6文章来源:来自网络

sedit使用

SlickEdit使用_设置篇 教程 2007-12-24 10:46:34 阅读37 评论0字号:大中小订阅 SlickEdit使用_设置篇 字体: Tools->Options->Font 个人觉得最好看的是FixedSys。 显示改动过的行标记: Tools->Options->File Extension Setup Advanced-Color coding-Modified lines 自动在保存的时候清除修改标记: Tools->Options->File Options Save-Reset line modify 这个标签页还有两个实用的选项: Expand tabs to spaces,保存时把T ab变成空格(有的地方要求必须用空格缩进) Strip trailing spaces,删掉行末尾的空白 快点显示Symbol的代码信息: 下面的Symbol窗口类似与Source Insight的上下文窗口,会显示当前函数或者宏的代码。Tools->Options->Tagging Options Updtae toolbars after ms idle: 缩短显示代码的速度。我用150。机子够快扛得住就弄小点。 修改该死的自动语法模板: Tools->Options->File Extension Options Indent-Syntax expansion-Minmum expandable keyword length: 建议设置为3,如果为默认的1的话,你根本不能用i做变量。因为只要i起头后面一个空格就是一个if () {},吐血。 鼠标移到函数或者标识符上面显示信息: Tools->Options->File Extension Options Tagging-Show info for symbol under mouse 这部分其他的钩也可以选上,减轻工作量啊。 对当前文件类型都显示行号: Tools->Options->File Extension Setup General-Display line numbers 修改行号颜色: Tools->Options->Color 不是Line Number,而是Line Prefix Area~~吐血-_-! 改GCC的设置: 必须在建立了GNU C/C++项目后才能在Build里面找到GNU C Options 设置项目的Build之类的菜单命令: Project->Project Properties->Tools

嵌入式linux学习心得(多篇范文)

嵌入式linux学习心得 知识结构 1. 嵌入式处理器与裸机程序开发 2. linux系统管理 3. linux应用程序开发 4. linux驱动程序开发 5. linux内核开发与系统移植 一、处理器 1. arm处理器工作模式 2. arm系统寄存器 3. arm寻址方式 4. arm 汇编指令集 5. arm环境c语言编程 6. arm中断与异常 7. ads集成开发环境 8. 裸机程序开发(串口、lcd、时钟、led、按键……) 二、系统管理 1. linux定制安装 2. linux命令详解 3. samba、nfs、tftp、wireshark使用 4. shell编程 三、应用程序开发 1. gcc、gdb、makefile 2. 文件、时间编程 3. 多进程、多线程程序设计 4. 进程间通讯 5. 网络编程 6. qt图形化应用程序开发 7. android图形化应用程序开发 四、内核开发 1. linux内核配置与裁剪 2. linux内核模块开发 3. 根文件系统制作 4. 进程子系统 5. 内存子系统 6. proc文件系统 7. 系统调用 8. 内核定时器 9. 内核异常分析 五、驱动程序开发

1. 字符设备驱动程序 2. 总线、设备、驱动模型 3. 硬件访问技术 4. 中断处理 5. input设备驱动 6. platform驱动程序 7. pci、usb驱动程序 8. 网卡驱动程序 9. 触摸屏驱动程序 10. 串口驱动程序 学习顺序 1. 嵌入式处理器与裸机程序开发 2. linux系统管理 3. linux应用程序开发 4. linux内核开发基础 5. 嵌入式linux环境搭建 6. linux驱动程序开发 7. 深入学习linux内核 第二篇:嵌入式linux学习步骤 嵌入式linux学习步骤 作者:phantom 时间:XX-8-6 文章来源:来自网络 1、linux 基础 安装linux操作系统 linux文件系统 linux常用命令 linux启动过程详解熟悉linux服务能够独立安装linux操作系统能够熟练使用linux系统的基本命令认识linux系统的常用服务安装linux操作系统 linux基本命令实践设置linux环境变量定制linux的服务 shell 编程基础使用vi编辑文件使用emacs编辑文件使用其他编辑器 2、shell 编程基础 shell简介认识后台程序bash编程熟悉linux系统下的编辑环境熟悉linux下的各种shell 熟练进行shell编程熟悉vi基本操作熟悉emacs 的基本操作比较不同shell的区别编写一个测试服务器是否连通的shell

Cygwin,gcc的使用

Cygwin ,gcc 的使用(一) 很多用windows 的朋友不习惯于用linux 的开发环境。虽然很乐意尝试一下,但是往往怕linux 系统打乱了自己的正常生活: 1 〉装linux 系统把windows 系统给搞坏了,导致自己无法正常生活;2>linux 开发上手太难,写出第一个helloworld 不亚于java 的难度,环境配置摸不着头脑。对于此,我的看法是:路不管平还是陡,终归你要走的,如果你愿意投入到linux 开发的社群中来,不会安装linux 系统,不会配置工作环境是不能想象的。( 事实上,确实要了解很多东西的原理,不然很难排错:诸如,硬盘引导器的引导原理、分区结构原理及linux 分区结构和文件系统、环境变量的设置、种类繁多的压缩包安装包的解压安装方法、用户管理权限管理等常用命令、以至于驱动安装系统中文化等等异常琐碎的东东) 。 本文试图跳过这个难走的步骤,启用一个win 环境下的linux 仿真器(和linux 下面的命令行开发环境基本一致),用短短的20 分钟的时间,教你做出一个纯正的linux 下gcc 编译的helloworld 。就象是买点心前先尝尝味道,不也是一件很愉快的事情么?( 注:cygwin 事实上不仅有此模拟功能,它也是移植unix<-->win 程序的一个很有效的工具,也有人用它来做嵌入式系统开发) 一、cygwin 是什么? 这个问题你最好google 一下"cygwin 的历史", 或许能够获得更为详尽的答案。简而言之,cygwin 是一个在windows 平台上运行的linux 模拟环境,是cygnus solutions 公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos ,不过现已被Redhat 收购)。插一句废话,很多朋友不明白linux 和unix 的区别和联系,在此也简要介绍一下。UNIX 是一个注册商标,是要满足一大堆条件并且支付可观费用才能够被授权使用的一个操作系统;linux 是unix 的克隆版本,是由其创始人Linus 和诸多世界知名的黑客手工打造的一个操作系统。为什么linux 和unix 之间有很多软件可以很轻松的移植?因为linux 也满足POSIX 规范, 所以在运行机制上跟unix 相近。以下引用网上的一段话用于说明cygwin 的工作机制:cygnus 当初首先把gcc ,gdb ,gas 等开发工具进行了改进,使他们能够生成并解释win32 的目标文件。然后,他们要把这些工具移植到windows 平台上去。一种方案是基于win32 api 对这些工具的源代码进行大幅修改,这样做显然需要大量工作。因此,他们采取了一种不同的方法——他们写了一个共享库( 就是cygwin dll) ,把win32 api 中没有的unix 风格的调用(如fork,spawn,signals,select,sockets 等)封装在里面,也就是说,他们基于win32 api 写了一个unix 系统库的模拟层。这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用unix 主机上的交叉编译器来生成可以在windows 平台上运行的工具集。以这些移植到windows 平台上的开发工具为基础,cygnus 又逐步把其他的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到windows 上来。这样,在windows 平台上运行bash 和开发工具、用户工具,感觉好像在unix 上工作。关于cygwin 实现的更详细描述,请参考https://www.doczj.com/doc/785154911.html,/cygwin-ug-net/highlights.html 二、cygwin 的安装。 cygwin 的安装文件很容易通过google 找到。目前国内的网站上有" 网络安装版" 和"

听报告心得体会

听报告心得体会 篇一:听教学报告的心得体会 听教学报告的心得体会 上周五有幸到开发区实验中学聆听了几位在教学一线的老师做的教学报告,受益匪浅,感触颇深。下面我谈一下自己的一点体会: 首先我认为实施素质教育,就是全面贯彻党的教育方针,以提高国民素质为根本宗旨,以培养学生的创新精神和实践能力为重点。而课改的目的也在于此。 其次作为教师要培养学生的创新精神,那么教师首先要有创新精神,要大胆进行改革,敢于冲破旧的条条框框,积极投入课程改革实验,学习有关课改的文件和资料,聆听专家讲座,并认真领会其精神实质,做好各种业务学习笔记,写好学习心得,做到教学方向明,路子对。在教学过程中,大胆创新,进行实践,改过去满堂灌的教学方法,积极实行启发式和讨论式教学,激发学生独立思考和创新的意识,切实提高教学质量。几位老师谈到了不同学科的教学模式,值得自己在今后的教学中去实践。 再次要建立良好的师生关系。教育学认为:“教学活动既是以传授知识和吸收人类间接经验为主的实践活动,也是特定的情绪中的人际交往活动。”因此,每一节课都是师生双方情感体验的过程。教师要充分相信学生、尊重学生,和

谐的师生关系,是学生主动获取知识的情感基础。在工作中,我以真诚、平等的心态与学生相处,我的真心换得了学生对我的诚意。在孩子心中,我不仅是老师,更是一位可以信赖的大朋友。他们愿意把心里话对我讲,学习和生活上有了困难愿意向我寻求帮助,课堂上,在对联知识的探索中,课堂气氛既严肃又轻松,大家积极思考,踊跃发言。甚至已经下课了他们也经常围着我问这问那,从孩子们的神情和言谈中流露出他们对知识的喜爱与渴求。在实践中我也体会到,良好的师生关系可以转化成学生学习的动力,使学生体会到成功的喜悦,可激发学生产生自信、自强、奋进向上的决心。 第四教学形式要多样,激发学生兴趣。在课堂教学过程中,不能总采用一种教学形式,这样可能会使学生感到没有新鲜感,提不起学习的兴趣,容易在课堂上开小差。教师在设计课堂教学时,应利用各种教学方式方法,使教学过程形象、生动。除了利用多媒体教学外,在上课时,为了激发学生兴趣,我会将全班分为若干组,每组有小组长,进行比赛,比速度,比成功率,比美观,这样,学生们在“玩”中就自然学到了东西。教学经验 表明,经常变换教学形式,容易激发学生的兴趣,提高学生学习积极性和学习效率。 工欲善其事,必先利其器。用先进的教育教学理念,不断武装自己的头脑,才能不断适应课程改革的需要。几位

Emacs使用手册

Emacs使用手册 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-和M-组成的. 超过两个以上的按键命令,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 里面,所以C-f(forward)就是向档尾移动,C-b(backward) 是移回去的意思,一次一个字. 翻页下一页C-v(view next screen) 上一页M-v 翻页时,上一页末尾会留一点在萤幕最上面,以维持连续性. Emacs在游标接近萤幕最下方时会自动跳半页,把档案往前挪一点, 方便阅读. 重画萤幕C-L Emacs里面游标的专有名词叫point.point==游标目前的点

游标一次跳一个字(word)M-f往後跳M-b 注意C-f与M-f,C-b与M-b的对称性. 移到行头C-a行尾C-e 移到句首M-a到句尾M-e (M-a到上一个句点後面,一个句子的起头. M-e到句点後面) 移到档头M-<档尾M-> 删除游标目前指的/後面的字C-d 前面的字DEL(Delete键) DEL的正名叫Rubout(Rub out) M-DEL往回删一个字(word) M-d往前删(游标後面) C-k删至行尾(kill) M-k删到一句子结尾(删到句点)(kill) 注意Backspace=C-h在Emacs下是help的意思 後面有(kill)的,表示此删除的动作是kill,不太等於delete. emacs会把kill掉的东西放到kill ring去,算是一种暂存的地方, 以後可以叫出来.见yank说明. Undo:C-x u C-_等於C-x u有些DEC终端机,C-/就是C-_ 有时等於C-Shift-- 重复执行 举例,向右移8个字,C-u8C-f C-u在Emacs里是蛮特别的,用来设定一些引数(argument/repeat count)给其後的命令. C-u20C-n向下移20行 有一个特别的例外,C-u3C-v不是翻三页,而是整个萤幕向上移三行.据说这比较有意义. C-u10C-x u UNDO10次

使用tmux

使用tmux tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机;当然其功能远不止于此。 安装 可以使用Ports安装tmux,位置在/usr/ports/sysutils/tmux/;tmux仅有一个依赖包libevent,位于/usr/ports/devel/libevent/。 安装完成后输入命令tmux即可打开软件,界面十分简单,类似一个下方带有状态栏的终端控制台;但根据tmux的定义,在开启了tmux服务器后,会首先创建一个会话,而这个会话则会首先创建一个窗口,其中仅包含一个面板;也就是说,这里看到的所谓终端控制台应该称作tmux的一个面板,虽然其使用方法与终端控制台完全相同。 tmux使用C/S模型构建,主要包括以下单元模块: server 服务器。输入tmux命令时就开启了一个服务器。 session 会话。一个服务器可以包含多个会话。 window 窗口。一个会话可以包含多个窗口。 pane 面板。一个窗口可以包含多个面板。

操作类似各种平铺式窗口管理器,tmux使用键盘操作,常用快捷键包括:Ctrl+b 激活控制台;此时以下按键生效 系统操作 ? 列出所有快捷键;按q返回 d 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新 进入之前的会话 D 选择要脱离的会话;在同时开启了多个会话时使用 Ctrl+z 挂起当前会话 r 强制重绘未脱离的会话 s 选择并切换会话;在同时开启了多个会话时使用 : 进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器 [ 进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出 ~ 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息 窗口操作 c 创建新窗口 & 关闭当前窗口数字键切换至指定窗口p 切换至上一窗口n 切换至下一窗口

相关主题
文本预览
相关文档 最新文档