《Linux命令行与shell脚本编程大全》 第九章 学习笔记
第一部分: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地址