第一部分:Linux命令行
    《Linux命令行与shell脚本编程大全》 第一章:初识Linux shell
    《Linux命令行与shell脚本编程大全》 第二章:走进shell
    《Linux命令行与shell脚本编程大全》 第三章:基本的bash shell命令
    《Linux命令行与shell脚本编程大全》 第四章:更多的bash shell命令
    《Linux命令行与shell脚本编程大全》 第五章:使用Linux环境变量
    《Linux命令行与shell脚本编程大全》 第六章:理解Linux文件权限
    《Linux命令行与shell脚本编程大全》 第七章:管理文件系统
    《Linux命令行与shell脚本编程大全》 第八章:安装软件程序
    《Linux命令行与shell脚本编程大全》 第九章:使用编辑器

    第二部分:shell脚本编程基础
    《Linux命令行与shell脚本编程大全》 第十章:构建基本脚本
    《Linux命令行与shell脚本编程大全》 第十一章:使用结构化命令
    《Linux命令行与shell脚本编程大全》 第十二章:更多的结构化命令
    《Linux命令行与shell脚本编程大全》 第十三章:处理用户输入
    《Linux命令行与shell脚本编程大全》 第十四章:呈现数据
    《Linux命令行与shell脚本编程大全》 第十五章:控制脚本

    第三部分:高级shell编程
    《Linux命令行与shell脚本编程大全》 第十六章:创建函数
    《Linux命令行与shell脚本编程大全》 第十七章:图形化桌面上的脚本编程
    《Linux命令行与shell脚本编程大全》 第十八章:初识sed和gawk
    《Linux命令行与shell脚本编程大全》 第十九章:正则表达式
    《Linux命令行与shell脚本编程大全》 第二十章:sed进阶
    《Linux命令行与shell脚本编程大全》 第二十一章:gawk进阶
    《Linux命令行与shell脚本编程大全》 第二十二章:使用其他shell

    第四部分:高级shell脚本编程主题
    《Linux命令行与shell脚本编程大全》 第二十三章:使用数据库
    《Linux命令行与shell脚本编程大全》 第二十四章:使用Web
    《Linux命令行与shell脚本编程大全》 第二十五章:使用E-mail
    《Linux命令行与shell脚本编程大全》 第二十六章:编写脚本实用工具
    《Linux命令行与shell脚本编程大全》 第二十七章:shell脚本编程进阶


    第九章:使用编辑器

    1.Vim编辑器

    (更详细的讲解见 #1 #2 #3

    启动: vim或vim file

    两种编辑模式: 普通模式、插入模式。默认进入普通模式

    移动光标:

    h:左移1字符

    j:下移一行

    k:上移一行

    l:右移1字符

    PageDown、Ctrl+F:下翻一屏

    PageUp、Ctrl+B:上翻一屏

    G:移动到缓冲区最后一行

    num G:移动到缓冲区第 num

    gg:移动到缓冲区第1行


    编辑模式下的命令

    命令 描述
    x 删除光标所在位置字符
    dd 删除光标所在行
    dw 删除光标所在位置的单词
    d$ 删除光标所在位置至行尾的内容
    J 删除光标所在行行尾的换行符(拼接行)
    u 撤销前一编辑命令
    a 在当前光标后追加数据
    A 在当前光标所在行行尾追加数据
    r char 用char替换当前光标所在位置的单个字符
    R text 用text覆盖当前光标所在位置的数据,直到按下ESC键

    有些命令允许指定执行次数(见 #2


    复制与粘贴

    复制命令为y,用法与d相同(yw=复制单词,y$=复制到行尾)

    普通模式下,将光标移动到要复制文本的开始,按下v,移动光标到要复制文本的末尾,按下y激活复制

    p为粘贴


    查找与替换

    普通模式下按下斜线(/),输入查找内容回车即可

    替换命令

    :s/old/new/g:替换行中所有old

    :n.ms/old/new/g:替换n到m行之间的所有old

    :%s/old/new/g:替换文件中的所有old

    :%s/old/new/gc:替换文件中的所有old,每次替换给出提示


    普通模式下的命令模式(普通模式下按冒号)

    q:如果缓冲区未修改,退出

    q!:不保存,退出

    w filename:将文件另存为到filename

    wq:保存并退出



    2.Emacs编辑器

    启动: emacs file,如果想使用控制台模式,加入-nw选项即可

    emacs只有一个模式,如果输入可见字符,emacs就在光标处插入字符,输入命令,emacs就执行命令

    移动光标:

    C-p:上移一行

    C-b:左移1字符

    C-f:右移1字符

    C-n:下移一行

    PageUp:下一页

    PageDown:上一页

    M-f:右移到下个单词

    M-b:左移到上个单词

    C-a:移至行首

    C-e:移至行尾

    M-a:移至当前句首

    M-e:移至当前句尾

    M-v:上翻一屏

    C-v:下翻一屏

    M-<:移至文本的首行

    M->:移至文本的尾行


    保存:

    C-x C-s:保存

    C-z:退出Emacs并保持在这个会话中继续运行,以便切回

    C-x C-c:退出Emacs并停止该程序

    C-x命令称为扩展命令(extend command)


    编辑数据:

    删除:backspace与del

    剪切:

    M-Backspace:剪切光标当前所在位置之前的单词

    M-d:剪切光标当前所在位置之后的单词

    C-k:剪切光标当前所在位置至行尾的文本

    M-k:剪切光标当前所在位置至行首的文本


    复制、粘贴:

    C-y:取出最后一个剪切命令存下的文本,如果执行了多个剪切命令,可以用M-y来循环选择他们


    查找、替换:

    C-s:从光标处到缓冲区尾部执行查找

    C-r:从光标处到缓冲区起始执行查找

    渐进式(incremental):emacs编辑器会实时的查找文本

    非渐进式(non-incremental):输入完整后再查找

    M-x:替换,要求输入命令和参数。输入replace-string命令后按回车,输入查找字符,回车,输入要替换字符,回车


    在Emacs中使用缓冲区

    通过多个缓冲区,emacs允许同时编辑多个文件

    C-x C-f:加载新文件到缓冲区。这是emacs查找文件(Find a File)模式

    C-x C-b:列出工作缓冲区

    除了主要的缓冲区,emacs还提供了两个缓冲区:

    1.草稿区域,称为*scatch*。允许输入LISP命令以及留给自己的笔记

    2.消息区域,称为*Messages*。显示在操作中由emacs生成的消息

    两种方式在窗口中切换到不同的缓冲区域

    C-x o:切换到缓冲区列表窗口

    C-x b:输入要切换到的缓冲区的名字


    在控制台模式的emacs中使用窗口

    C-x 2:将窗口水平拆封成两个窗口

    C-x 3:将窗口竖直查分成两个窗口

    C-x 0:关闭当前窗口

    C-x 1:关闭其他所有窗口

    C-x o:切换窗口

    注意:创建新窗口时,emacs会在新窗口中使用原始窗口缓冲区


    在XWindow中使用Emacs(P185)

    3.KDE系编辑器

    KWrite编辑器

    命令行参数:

    --stdin:让KWrite从标准输入设备中而非文件中读取数据

    --encoding:为文件指定一个采用的字符编码类型

    --line:指定编辑器窗口中开始的文件的行号

    --column:指定编辑器窗口中开始的文件的列号

    (其余图形化内容见P186)


    Kate编辑器(见P190)

    4.GNOME编辑器

    gedit编辑器(见P192)



    1.《Unix & Linux 大学教程》 - 第二十二章(一) 学习笔记 vi文本编辑器 (一)

    2.《Unix & Linux 大学教程》 - 第二十二章(二) 学习笔记 vi文本编辑器 (二)

    3.《Unix & Linux 大学教程》 - 第二十二章(三) 学习笔记 vi文本编辑器 (三)




    转贴请保留以下链接

    本人blog地址

    http://su1216.iteye.com/

    http://blog.csdn.net/su1216/