《Linux命令行与shell脚本编程大全》 第九章 学习笔记

时间:2023-01-09 14:28:04

第一部分: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/