zoukankan      html  css  js  c++  java
  • 学习Emacs系列教程(三):编辑(1)

    学习Emacs系列教程(一) :基本使用  
    学习Emacs系列教程(二) :导航

      上回说到怎么在Emacs中移动光标,这回将介绍如何在Emacs中编辑文本。
    任何一款文本编辑软件的核心功能当然就是编辑文本,Emacs也不例外,虽然它也有许多其它强大的本领,但都离不开文本编辑。闹,文本编辑说白了也就是打 字,专业点说我们需要实现一种所见即所得输入方式。在Emacs中打字和Notepad中没什么区别,一样也是打开一个文件直接往里面敲字符就可以了,中 文也行。这个和Vim区别比较大,我们还需要知道自己是在哪个模式下,不然乱敲一气也不见屏幕有什么反应。

    一、文件操作
      刚才我们说到编辑文本就是打开一个文件往里面敲字符,所以我们第一件事就是打开一个文件。
      C-x C-f输入这个命令后在回显区会看到一 个提示“Find file: ”,然后是我的文档的路径,这时需要输入你编辑的文件的名称。注意,这里的输入的文件名可以包含路径,比如 D:\text.txt,或者是相对路径。还有就是在Windows中我们可以使用Windows风格的反斜杠"\",当然了也可以使用正斜杠"/"。如 果输入了一个新的路径,Emacs的当前路径会跳转到你输入的地方,(实际上是新开了一个buffer)。如果Emacs没找到你输入的文件,它会以你输 入的名字自动新建一个文件。另外Emacs还支持拖拽,就是说可以把文件图标拖到Emacs中来打开它。
      当你不小心错打开一个文件时,可以使用C-x C-v 来换一个,操作和C-x C-f 一样,这个区别嘛是Emacs在buffer中处理有些不同。
      C-x C-s这个命令是用来保存文件的,另存是C-x C-w ,这两个都比较简单,一看就会。

    二、输入文本
      除了一些基本的输入方式,Emacs还可以输入非打印字符,就是ASCII表中前面的那些字符。
      使用C-q (n), 这里的n代表一个八进制数,就能打出n对应的ASCII表中的符号。
      还有就是Unicode字符比如日文啊韩文啊,使用C-x 8 后 面接Unicode标准中字符的名字或者编码就可以输出这个乱七八糟的东西了。这我相信不会有谁闲的无聊来记这种一长串数字的,而且我们有更为先进的方 案,(广告时间)当。。当。。当。。,现在隆重推出Unicode字符超级输入工具——搜狗软键盘,省去了你记忆一大堆16进制数的烦恼,还能输入中文, 实在是居家旅行必备良品。

    三、删除文本
      相比输入,Emacs删除文本的花样就比较多了。
      Backspace,退格键,这个比较传统就不说了。
      Del键,删除光标处的字符,虽然这个也很常见,但它违背了Emacs的原则,“你的手不用离开主键盘区”,所以我们用C-d来代替。
      M-d ,这个用来删除一个单词(记住在中文中单词表示两个相邻标点符号中的句子,所以如果你是打中文这个键还是少用,稍不留神多长一截句子就不见了)。而且它删除的是从光标当前位置到单词结束,还会把单词前半截留给你。
      相对应,删除单词前半截可以用,M-Backspace。
      M-k删除一段句子,这个在中英文有些不同。中文里面它只会删除到句号为止,包括句号。而英文中,它不认'.', '!‘,这些东西,而是把整段都删了(英文的分段用两个回车表示)。和M-d一样,它也是从光标处开始删。对应删回去是C-x Backspace。
      C-k从光标起删除当前行。
      一个比较详细的例子见下图:(宽线覆盖的文字就是使用箭头指向的命令删除的部分,注意中英文的区别)


    四、撤销命令
      操作难免有失误之处,Windows里面Ctrl + z 命令使用频率也是蛮高的,不过在Emacs中按Ctrl + z 会发现窗口最小化了。Emacs中要达到撤销效果使用的是 C-/ ,同样还可以使用 C-_ 或者 C-x u ,这三个都对应的是Undo命令。
      和Vim 类似,Emacs中删除的内容也保存在一个缓冲中,相当于一个剪贴板,我们可以很方便的调出某一次放进去的东西,这个地方我还没仔细看,放到以后再讲。
      上面说的是撤销文本上的操作,还有个比较常用的命令C-g ,这个是用来撤销命令的,当你输了一半命令发现不对就可以用它了。

    五、一些杂项命令
      有些比较零碎的命令又比较常用,呃,其实应该放到第一章的,先搁在这儿吧。
      帮助命令:
      C-h t 调出Emacs Tutorial。
      C-h r 调出Emacs Manual。
      C-h k (command) ,调出对应command的帮助,比如C-h k C-n 就是查看C-n的帮助。
      空白行:
      插入空行,C-o 。删除空行C-x C-o , 注意,如果有许多空行时,这个命令会删的只剩一个空行,只有一个就直接删了。这两个命令并不是完全对应,插入空行实际是插入一个回车换行符,而删除空行的 标准是这一行什么文字都没有才删了,如果我们在一行文字中间按C-o,光标后面的内容会移到下一行,再按C-x C-o 却没有反应,因为这行前面还有内容。
      重复命令:
      上章介绍两个数字参数的重复命令,这儿还有一个不带数字参数的。C-x z ,这个命令的对象是它前面输的命令,比如,先按C-n ,再按C-x z,就会重复一次C-n,然后我们每按一次 z, 就再往下走一行,相当方便。

    小结:

    按键

    命令

    作用

    C-x C-f find-file 打开文件
    C-x C-v find-alternate-file 打开另一个文件
    C-x C-s save-buffer 保存文件
    C-x C-w write-file 另存文件
    C-q (n) quoted-insert 插入字符,n表示字符的八进制ASCII码
    C-x 8 ucs-insert 插入Unicode字符

    C-d

    delete-char

    删除光标处字符

    Backspace

    delete-backward-char

    删除光标前字符

    M-d

    kill-word

    删除光标起单词

    M-Backspace

    backward-kill-word

    删除光标前单词

    C-k

    kill-line

    删除光标起当前行

    M-k

    kill-sentence

    删除光标起句子

    C-x Backspace

    backward-kill-sentence

    删除光标前句子

    (none) kill-paragraph 删除光标起段落
    (none) backward-kill-paragraph 删除光标前段落

    C-/

    undo

    撤销

    C-_ undo 撤销
    C-x u undo 撤销
    C-g keyboard-quit 撤销命令
    C-h t help-with-tutorial 调出Emacs Tutorial
    C-h r info-emacs-manual 调出Emacs Manual
    C-h k (command) describe-key 查看对应command帮助
    C-o open-line 插入空行
    C-x C-o delete-blank-line 删除空行
    C-x z repeat 重复前个命令


    未完待续。。。

    转自:http://www.cnblogs.com/robertzml/archive/2009/09/23/1571942.html

  • 相关阅读:
    计算机视觉之图像特效(实现图像边缘检测、浮雕效果、颜色映射、油画特效等功能)
    计算机视觉之图像特效(实现图像灰度处理、颜色反转、马赛克、毛玻璃、图片融合等功能)
    计算机视觉之几何变换(实现图片缩放、剪切、移位、镜像、仿射变换、旋转等功能)
    Python实现人工神经网络逼近股票价格
    Python中matplotlib模块的简单使用
    Python中numpy模块的简单使用
    TensorFlow入门(矩阵基础)
    TensorFlow入门(常量变量及其基本运算)
    计算机视觉入门
    菜得一P!
  • 原文地址:https://www.cnblogs.com/hnrainll/p/2404228.html
Copyright © 2011-2022 走看看