sams emacs 24 hour 读书笔记2

Hour 4: Basic Editing

Add a Blank Line at the End of the Buffer

要在最后一行使用C-n添加一行的话,需要在.emacs里添加
(setq next-line-add-newlines t )
接下来,还是上图说明一切移动操作
sams emacs 24 hour 读书笔记2_第1张图片


两个功能可以回到匹配的括号处,这个分别叫做forward-sexp,backward-sexp.这在编程的时候显得更为有用.我们可以将他们绑定到Meta-左键和Meta-右键.为了做到这一点我们可以将下面的两句加入我们的.emacs文件中:
(global-set-key [(meta left)] ’backward-sexp)
(global-set-key [(meta right)] ’forward-sexp)
有时我们可以通过指定的数字回到指定的行.这个可以使用goto-line命令,在XEmacs中我们可以通过M-g来做到,而在Emacs中我们也想要这样的做就要将下面的一句加入到我们的.emacs文件中:
(global-set-key [(meta g)] ’goto-line)
如果我们的窗口比较的乱或者是我们要将光标入在窗口的中央,我们可以按下C-l (recenter).这样就会重绘我们的窗口并将光标放在窗口的中部而不改变他在缓冲区中的位置.

Miscellaneous File Commands

1.如何编辑远程机器上的文件
/user@host:filename
如果用户名和本机一致,可以省略user@
2.压缩文件
jka-compr库可以达到编辑压缩文件的功能
需要在.emacs加入
(require 'jka-compr) 
(jka-compr-install) 
3.查看归档文件(archives)并编辑文件

浏览tar文件

浏览zip文件
在文件名上回车就可以进行编辑操作,保存后,会自动更新归档文件

Document Templates

当新建一个文件时,emacs会寻找以该文件的拓展名的模板,比如新建的文件名是test.html,那么emacs会搜索模板文件 T E M P L A T E.html.tpl, 若是letter.txt,emacs会搜索T E M P L A T E.txt.tpl.
当搜索模板时,emacs会先搜索该文件所在的目录下,如果没有找到模板文件,emacs会找Templates子目录,如果还是没有找到模板文件,emacs会旭找父目录和子目录Templates,反复如此,知道emacs搜索到用户的根目录。如果依旧没有找到,emacs会寻找你可能定义模板的目录。

例子如下:如果新建文件~/work/Emacs-project/note.txt
而你的标准模板在 ~/lib/templates
emacs会按照如下顺序去寻找模板文件

1. ~/work/Emacs-project/TEMPLATE.txt.tpl

2. ~/work/Emacs-project/Templates/TEMPLATE.txt.tpl

3. ~/work/TEMPLATE.txt.tpl

4. ~/work/Templates/TEMPLATE.txt.tpl

5. ~/TEMPLATE.txt.tpl

6. ~/Templates/TEMPLATE.txt.tpl

7. ~/lib/templates/TEMPLATE.txt.tpl

模板可以包含一些由标准行(stand-ins)所组成的文本.这些行可能被其他的文本替换或是当基于这个模板创建一个新文件时在缓冲区中进行标记.标准行的格式为(>>>letter<<<),例如>>>P<<<设置当我们的新建一个文档时位于缓冲区中的这一点,>>>A<<<可以插入我们的邮件地址.
下面列出一些不需用户定义的代码:
代码        例子    描述
文件和目录类:
(>>>DIR<<<)        ~/Letters/    文件名部分目录
(>>>FILE<<<)        Gretchen.txt    没有目录的文件名
(>>>RILE_RAW<<<)    Gretchen    没有扩展名的文件名
(>>>EILE_EXT<<<)    txt        文件名的扩展名(没有逗点)
时间日期类:
(>>>DATE<<<)        07 Jan 1999
            20:17:29    日期和时间
(>>>ISO_DATE<<<)    1999-01-07    ISO 8601 日期
系统信息类:
(>>>AUTHOR<<<)        [email protected]    完整Email地址
(>>>LOGIN_NAME<<<)    blackie        登陆名
(>>>HOST_ADDRE<<<)    ifad.dk        主机名
(>>>USER_NAMEE<<<)    Jesper         用户真名
位置类:
(>>>POINT<<<)                这个设置点,当然只有这个点可以进行设置
(>>>MARKT<<<)                设置标记,只有标记可以进行设置
(>>>1<<<) (>>>9<<<)

十个可能的位置.要到达这些位置中的任何一个,我们可以按下C-x j(jump-to-register)
在我们的模板中,我们也可以插入询问问题的答案.所以在我们的前面的例子中,我们也许希望提示我们要在插在Dear后的名字.如下面的模板:
Odense (>>>I<<<) 
Dear (>>>name<<<) 
(>>>P<<<) 
 
 
Our record number: (>>>number<<<) 
 
Cheers (>>>U<<<) 

>>>TEMPLATE-DEFINITION-SECTION<<<

("name" "What is the name of the customer? ") 
("number" "What is the record number? ") 

>>>TEMPLATE-DEFINITION-SECTION<<<
要使Emacs询问我们问题,我们需要插入一行来表明开始了定义的部分.在这行后的文本是用来定义问题的,所以我们要小心不要插入没有语法的文本.
每一个问题都是与一个单词相联系的.这个单词是作为标准的输入文本.
这样当我们打开一个新的文件时,Emacs会向我们询问问题,而我们的答案也就会插入相应的地方.


sams emacs 24 hour 读书笔记2_第2张图片





你可能感兴趣的:(sams emacs 24 hour 读书笔记2)