linux vim解屏,文本处理工具Sed及VIM的使用

1.文本处理工具Sed

Stream Editor 行编辑器

3c8ce6380daa33c267ccb0e2e66a02de.png                           图1-1 sed帮助手册

用法:

sed [option]…'script' file…

常用选项:

-n:不输出模式空间内容的自动打印

-e:多点编辑

-f file:从指定文件读取编辑脚本

-r:支持扩展正则表达式

-i:原处编辑

地址定界:

1) 不给地址

2) 单地址

# 指定的行

/pattern/ 被此模式能匹配到的每一行

3) 地址范围

#,#  指定的两个数之间的行

#,+# 从第一数开始的#行数

/part1/,/part2/ part1和part2之间的行

#,/part1/  从第一个数到part1之间的行

4) 步进

1~2 奇数行

2~2 偶数行

3c8ce6380daa33c267ccb0e2e66a02de.png

图1-2 sed命令使用

编辑命令:

d 删除模式空间匹配的行

p 显示模式空间中的内容

a \text 在行后追加文本,支持\n

i \text 在行前追加文本,支持\n

c \text 替换行为单行或多行文本

w file 保存模式匹配的行之指定的文件

r file 读取指定文件的文本至模式空间中匹配到的行后

= 为模式空间的行打印行号

!匹配行取反

s/// 查找替换,支持使用其他的分隔符 s@@@

替换标记:

g 行内全局替换

p 显示替换成功的行

w file 将替换成功的行保存至文件中

3c8ce6380daa33c267ccb0e2e66a02de.png

图1-2 sed命令使用

3c8ce6380daa33c267ccb0e2e66a02de.png

图1-3sed命令使用

高级编辑命令:

h 把模式空间中的内容覆盖至保持空间中

H 把模式空间中的内容追加到保持空间中

g 把保持空间中的内容覆盖到模式空间中

G 把保持空间中的内容追加到模式空间中

x 把模式空间中的内容与保持空间调换

n 读取匹配到的行的下一行覆盖至模式空间

N 读取匹配到的行的下一行追加到模式空间

d 删除模式空间中的行

D 删除模式空间开端至\n的内容

3c8ce6380daa33c267ccb0e2e66a02de.png

图1-4sed模式空间与保持空间

2 VIM编辑器

2.1 VI即Visual Interface 文本编辑器

VIM是VI的升级,提供了更易用,更强大的功能。

3c8ce6380daa33c267ccb0e2e66a02de.png

图2-1vim帮助文档

vim [option]…file…

+#  打开文件后,直接让光标位于第#行的行首

+/pattern  打开文件后,直接让光标处于第一个被pattern匹配到的行的行首

+ file  直接打开file,光标位于最后一行

-b file   以二进制打开文件

-d file1 file2   比较多个文件

-m file   只读方式打开

ex file   直接进入ex模式

3c8ce6380daa33c267ccb0e2e66a02de.png

图2-2vim命令使用

2.2 三种主要模式

命令模式(默认):移动光标,剪切/粘贴文本等

插入(编辑)模式:修改文本

扩展命令模式: 保存,退出等

Esc键 退出当前模式

Esc键 Esc键 总是返回命令模式

3c8ce6380daa33c267ccb0e2e66a02de.png

图2-3三种模式间的切换

模式之间的转换

1) 命令模式 –> 插入模式

i insert,在光标所在处输入

I 在当前光标所在行的行首输入

a append,在光标所在处的后面输入

A 在当前光标所在行尾输入

o 在当前光标所在行的下方打开一个新行

O 在当前光标所在行的上方打开一个新行

2) 插入模式 –> 命令模式

Esc

3)命令模式 –> 扩展模式

:

4) 扩展模式 –> 命令模式

Esc

5)解锁与锁定

Ctrl+s 锁定

Ctrl+q 解锁

扩展模式:

w 写磁盘文件

wq 写入并保存

x 写入并推出

q 退出

q!不保存退出

r file 读文件内容到当前文件

w file 将当前文件写入另一个文件

!command 执行指令

r!command 在文件中显示指令执行结果

3c8ce6380daa33c267ccb0e2e66a02de.png

图2-4!command命令使用

3c8ce6380daa33c267ccb0e2e66a02de.png

图2-5r!command命令使用

命令模式光标跳转:

h 左 l 右 j 下 k 上

单词间跳转                  行首行尾跳转

w 下一个单词的词首           ^ 跳转至行首第一个非空白字符

e 当前或下一个单词词尾        0 跳转至行首

b 当前或下一个单词词首        $ 跳转至行尾

当前页跳转                  行间移动

H 页首                   #G 跳转至由#指定的行

M 页中间行                 G 最后一行

L 页底                1G,gg 第一行

句间移动                   段落间移动

): 下一句                  }: 下一段

(: 上一句                  {: 上一段

字符编辑                    删除命令

x 删除光标处的字符                d 删除命令

#x 删除光标处起始的#个字段           d$ 删除到行尾

xp 交换光标与后面字符的位置          d^ 删除到行首

~ 转换大小写                    d0 删除到行首

3c8ce6380daa33c267ccb0e2e66a02de.png

图2-6文本操作

地址定界

:start_pos,end_pos

# 具体第#行

#,# 行起始到行结尾

#,+# 从#行开始,加上右侧#的行数

. 表示当前行

$ 最后一行

% 全文,相当于1,$

查找并替换

s/要查找的内容/替换为的内容/修饰符

替换的内容,不能使用模式,但可以使用\1 \2…等向后引用符号;还可以使用&引用前面查找到的整个内容,分隔符也可以使用其他符号如s@@@…

修饰符

i 忽略大小写

g 全局替换

gc 全局替换,每次替换前询问

3c8ce6380daa33c267ccb0e2e66a02de.png

图2-7查找替换

命令撤销

u撤销最近操作

#u可以撤销多次之前的更改

U撤销光标落在这一行后所有此行的更改

Ctrl -r 撤销"撤销"操作

. 重复前一个操作

n.重复前一个操作n次

2.3 多窗口的使用

多文件分割

vim -o|-O file1 file2

-o 水平分割

-O 垂直分割

Ctrl+w,arrow 窗口间切换

单文件分割

Ctrl+w,s 水平分割

Ctrl+w,v 垂直切割

Ctrl+w,q 取消相邻窗口

Ctrl+w,o 取消全部窗口

wqall 退出

3c8ce6380daa33c267ccb0e2e66a02de.png

图2-8vim多窗口模式

2.4定制VIM的工作特性

配置文件:永久有效

全局:/etc/vimrc

个人:~/.vimrc

1) 设置行号  2)设置成对匹配    3)设置自动缩进  4)高亮搜索

set nu    set showmatch(sm)     set ai      set hlsearch

5)设置语法高亮  6)忽略大小写   7)设置文件格式    8)设置文本宽度

syntax on       set ic     fileformat=unix   set textwidth=65

3c8ce6380daa33c267ccb0e2e66a02de.png

图2-9定制vim工作特性

原创文章,作者:Stupid_L,如若转载,请注明出处:http://www.178linux.com/32088

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值