`
longsy
  • 浏览: 137882 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

《Learning GNU Emacs 3》部分翻译--Chapter 1. Emacs Basics

阅读更多

1.2. 理解FilesBuffers(Understanding Files and Buffers)

使用Emacs时并不是真正地在编辑files。相反,Emacsfiles的内容copy到一个临时buffer中,然后编辑那个bufferEmacs只有保存buffer后才会真正的修改对应磁盘上的file的内容。一个buffer的名称一般与正在编辑的file的名称相同。然后有一些例外,有些Buffer没有与之相关联的files――例如,*scratch*仅仅是一个临时buffer的名称,就像便签;Emacs的帮助系统在一个名称为*Help*buffer中显示信息,同样这个*Help* buffer也没有与文件相连。

 

1.5. 关于Emacs的界面展示(About the Emacs Display)

进入Emacs后,就可以看到Emacs编辑界面

 

 

光标(Cursor)标记了你当前编辑的位置。

在你开始输入之前不需要做任何其它特别的工作。当你输入字符和标点时,Emacs将它们插入到buffer中。光标(cursor)指示Emacs要插入新字符的位置。(如果你由于某种原因被卡住,那按下Control-g)。

 

1.5.2. 菜单(The Menus)

菜单栏列出了File, Edit, Options, Buffers, Tools, Help,你可以浏览它们看看哪些功能选项可用。

你可以只用键盘来操作菜单。但是,使用键盘命令比使用菜单更高效。

如果你的鼠标不能在菜单下工作,按F10M-``这个键是在数字1键的左边第1个)来访问它们。

有三种方式来访问基于文本形式的菜单:

a.按下Enter来选择在minibuffer中默认的菜单选项。如果你想选择其它的选项,按上下方向键盘来切换。

b.按下在*Completions* buffer中菜单选项的首字符。如,输入f来选择file

c.PgUp将光标移动到*Completions* buffer中,然后移动方向键来选择你想要的选择,按Enter.

 

1.5.3. 模式行(The Mode Line)

在窗口下面(倒数第二行)Emacs显示了关于它正在工作的大量信息。这行被称为模式行(mode line)。在mode line的开始处,你可能看到Emacs针对当前文件所使用的编码系统。一般你仅仅会看到- -:,提示了当前没有任何的不同寻常的编码计划。离mode line左边边缘不远的地方,你可能会看到两个星号(**)。这些星号指明了你在编辑时有无进行了修改。如果你没有做任何的改变,星号将不会出现。接下来,Emacs显示了当前正在编辑的buffer的名称。在名称之后,Emacs显示了当前的工作位置――与文件余下部分相关的位置和当前所在的行号。当处于文件开始时,Emacs将显示出单词Top,如果在底部,则显示Bot,如果在中间,则会显示出50%,如果整个文件在窗口都可见,将显示All。后面的括号中内容显示了当前所使用的模式。这里Lisp Interaction是主要模式(没有任何激活的次要模式)。

你以后可能将经常同时使用多个buffer,如果那样的话,每个buffer都有自己的mode line。当你切换buffer时,mode line反映了当前buffer的状态。现在不需要担心这个,仅仅记住每个buffer都有一个mode line来描述它。

 

1.5.4. 小缓冲(The Minibuffer)

mode line下面是minibuffer。在这个区域,Emacs显示了输入的命令,要查找的文件名,搜索与替换的值等等,它也显示了Emacs错误信息。如果在minibuffer中卡住,按C-g来重新操作。

 

1.6. Emacs命令(Emacs Commands)

       Emacs将一个命令名称与一个按键序列连结起来,这种命令与按键连结被称为绑定(bingding)

Emacs的作者将一些常用的命令绑定到容易触摸的按键序列上。这里有一些你将会遇到的按钮序列:

a.     大部分使用的命令被绑定到C-nC表示Control, n表示一个任何字符),

b.    有些使用的命令与M-n绑定.

c.     还有些其它常用的命令与C-x something绑定(something表示1个或多个字符或其它控制序列)。

d.    这个列表仍然不能顾及到所有的可能性。你可以使用预留的命令M-x long-command-name Enter。(它能够完成所有命令,但按键一般容易学习)

 

1.7. 打开文件(Opening a File)

       通过输入C-x C-f(或者M-x find-file),然后指定文件名来打开一个文件。

       C-x C-f的方法:按住Ctrl, 按下x后,再按下f, 然后释放Ctrl

       按下C-x C-f之后,Emacs使用minibuffer来向你询问文件名,不管Emacs什么时候想从你那得到输入,它将光标放置到minibuffer中。当你在minibuffer中完成输入后,按下Enter

       如果试图读取同个文件两次,将会发生什么呢?Emacs不是创建一个新的buffer, 而是将文件所在的buffer移出来。

 

1.7.1. 如果读错了文件(If You Read the Wrong file)

      如果遇到读错文件,一个获取正确文件的简单方法就是输入C-x C-vM-x find-alternate-file)。这个命令的意思“读取另一个文件来取代刚才读取那个”。键入C-x C-v后,Emacs将当前文件的名称放置到minibuffer中,然后你可以修正文件名或路径,按下EnterEmacs用修正后的文件来替换buffer的内容。

 

1.7.2. 名称补全

        当输入一个已存的文件或命令时,只需要输入名称开始的几个字符,按下Tab键,Emacs就会自动补全文件名或命令名。

 

1.7.3. 向buffer中插入和追加其它文件的内容

       如果你想将一个文件插入到另一个文件中,你先将光标移动到文件的适当位置,然后按下C-x i。为了追加一个新的文件,将光标移至到文件的末尾(M->), 按下C-x i , C-x C-f相似,Emacsminibuffer中要求你提供文件名。

 

1.8. 保存文件(Saving File)

       为了保存当前正在编辑的文件,按下C-x C-sEmacsbuffer中的内容写入文件中。为了将你知道文件被保存了,它在minibuffer中放置Wrote filename的信息。如果你没有对文件做任何的修改,Emacs将“No changes need to be saved”信息放置到minibufer

       如果你通过C-x C-f 决定保存*scratch* buffer中输入的内容,Emacs要求你输入保存的文件名。你输入文件名后,Emacs将相应地改变mode line

       一个相关联的命令是write-file(C-x C-w)。它与Emacs菜单中的Save as选项等价。write-file命令要求输入一个新的文件名。然后,如果你仅仅输入Enterwrite-file使用旧的文件名来保存内容--与C-x C-f等价。

       write-file命令在编辑一个你没在修改权限的文件时非常有用。使用find-file命令来将文件内容读取到buffer中,然后使用write-file创建自己的版本,使用一个不同的名字或路径。这种手法允许你copy文件到一个你自己可修改的复本。当然,目标文件是不会受到任何影响。

 

1.9. 退出EmacsLeaving Emacs

       为了退出Emacs, 输入C-x C-c或者直接关闭它。如果你已经修改了未保存的buffer Emacs询问你是否想保存它们。如果你输入y, Emacs保存文件并退出。如果你输入nEmacs询问你确定想放弃所做的修改。如果你输入no, Emacs不会退出。如果输入yes, 退出Emacs,所有修改将会被丢弃。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics