Linux 第八天: Linux文本编辑器vim

Linux 第八天: (08月09日) Linux文本编辑器vim

 

 

 

sed 行编辑器 stream EDitor

sed -n 不输出模式空间内容的自动打印
sed -e 多点编辑
sed -f /PATH/TO/SCRIPTFILE
sed -i 原处编辑

 

script
单地址
# 指定的行
/pattern/ 所能匹配到底每一行

地址范围
#,#
#,+#
/pat1/,/pat2/
#,/pat1/
~ 步进
1~2 奇数行
2~2 偶数行

 

sed d 删除模式空间匹配的行
sed p 显示模式空间中的内容
sed a \text 在行后追加文件, 支持\n多行追加
sed i \test 在行前插入文件, 支持\n多行插入
sed c \text 替换行为单行货多行文本
sed w /path/to/somefile 保存模式匹配的行到指定文件
sed r /path/form/somefile 读取指定文件的文本到模式空间匹配行后
sed = 为模式空间中的行打印行号
sed ! 模式空间中匹配行取反处理

 

s/// 查找替换, 可用其它分隔符 s@@@ s###
替换标记
g 行内全局替换
p 显示替换成功的行
w /PATH/TO/SOMEFILE 将替换的行保存到文件

sed 高级编辑命令
h 模式空间中的内容覆盖到保持空间中
H 模式空间中的内容追加到保存空间中
g 保持空间取出数据覆盖至模式空间
G 保持空间取出内容追加至模式空间
x 模式空间与保持空间内容互换
n 覆盖匹配的行的下一行到模式空间
N 追加匹配的行的下一行到模式空间
d 删除模式空间的行
D 删除当前模式空间开端到n的内容

 

 

vi Visal Interface 文本编辑器
vim VI iMproved
sed 行编辑器
nano 全屏编辑器
gedit 图形编辑器
gvim 图形版本的vim

 

vim +/pattern 打开文件 光标在第一个pattern的行
vim +# 打开文件 光标在第#行
vim + file 打开文件 光标在最后一行
vim -b file 二进制打开文件
vim -d file1 file2 比较文件
vim -m file 只读打开文件
vim -e 或ex file 直接进入ex模式

 

命令模式 移动光标 剪切粘贴文本
插入模式 修改文本
扩展命令模式 保存退出等
esc 退出当前模式
esc esc 返回命令模式

命令模式 –> 插入模式
i: insert 在光标处输入
I 在光标所在行首输入
a append 在光标后输入
A 在光标所在行尾输入
o 在光标所在行下方打开一个新行
O 在光标所在行上方打开一个新行

模式转换
插入模式 –> 命令模式 esc
命令模式 –> 扩展模式 :
扩展模式 –> 命令模式 esc
锁定解锁 ctrl+s  ctrl+q

 

扩展模式
q 退出
q! 强制退出
wq 保存退出
x 保存退出

 

命令模式
ZZ 保存退出
ZQ 不保存退出

 

扩展模式
: 进入ex模式
w 写存磁盘文件
wq 写入并退出
x 写入并退出
q 退出
q! 不存盘退出
r filename 读文件内容到当前文件中
w filename 写当前文件内容到另一文件

字符跳转
h 左
l 右
j 下
k 上
# COMMAND 跳转#个字符

 

单词跳转
w 下个单词首
e 当前或下个单词尾
b 当前或前个单词首
# COMMAND 跳转#个单词

 

当前页跳转
H 页首
M 页中
L 页底

 

行首行尾跳转

^ 跳转到行首非空白字符
O 跳转到行首
$ 跳转到行尾

行间移动
#G 扩展模式 # 跳转到#行
G 最后一行
1G, gg 第一行

 

句间移动
): 下一句
(: 上一句

段落间移动
}: 下一段
{: 上一段

ctrl+f 向文件尾部翻一屏
ctrl+b 向文件首部翻一屏
ctrl+d 向文件尾部翻半屏
ctrl+u 向文件首部翻半屏

字符编辑
x 删除光标处的字符
#x 删除光标处起始#个字符
xp 交换光标所在处及后面字符
~ 转换大小写

 

替换命令
r 替换光标所在处的字符
R 切换成REPLACE模式

删除命令
d 删除命令
d$ 删除到行尾
d^ 删除到非空行首
d0 删除到行首
dw
de
db
dd 删除光标所在行
#dd 多行删除
D 等同 d$

 

复制命令
y 复制 等同d
y$
y0
y^
ye
yw
yb
#yy 复制多行

粘贴命令
p 整行粘贴于下方, 非整行粘贴于后面
P 整行粘贴于上方, 非整行粘贴于前面

改变命令
c$
c^
c0
cb
ce
cw
#cc 删除多行
C 删除光标到行尾, 并切换成插入模式

 

命令模式
100iwang[esc]粘贴wang 100次

地址定界
# 第#行
#,# 从#到#行
#,+# 从#加#行
. 当前行
& 最后行
&-1 倒数第二行
.,$-1 当前行到倒数第二行
% 全文 1,$

 

扩展模式

/pat1/,/pat2/ 从第一次pat1匹配到的行开始, 到第一次pat2匹配到的行结束
#,/pat/
/pat/,$

 

查找
/PATTERN 从当前光标向文件尾部查找
?PATTERN 从当前光标向文件首部查找
n 与命令同向
N 与命令反向

 

扩展模式
s/要查找的内容/替换为的内容/修饰符
要查找的内容 可以使用模式
要替换的内容 不能使用模式, 但可以使用\1,\2,后向引用符号
还可以使用"&"引用前面查找到的整个内容

i 忽略大小写
g 全局替换
gc 全局替换 每次询问

撤销更改
u 撤销最近更改
#u 撤销多次更改
U 撤销光标落在这行后所有此行更改
ctrl -r 重做最后撤销更改
. 重复前一个操作
n. 重复前一个操作n次

 

编辑二进制文件
vim -b binaryfile 打开二进制文件
:%!xxd 转换为十六进制
:%!xxd -r 转换回二进制

 

可视化模式
v 面向字符
V面向行
ctrl -v 面向块

 

多文件模式
vim FILE1 FILE2 FILE3
:next 下一个
:prev 前一个
:first 第一个
:last 最后一个
:wall保存所有
:qall 退出所有
:wqall

 

多文件分割
vim -o|-O FILE1 FILE2
-o 水平分割
-O 垂直分割
ctrl+w, Arrow 窗口间切换

 

单文件窗口分割
ctrl+w,s split 水平分割
crtl+w,v vertical 垂直分割
ctrl+w,q 取消相邻窗口
ctrl+w,o 取消全部窗口
:wqall 退出

定制vim工作特性
/etc/vimrc 全局配置
~/.vimrc 个人配置
扩展模式 当前vim进程有效

 

set number 简写set nu 显示行号
det nonumber 简写set nonu 取消显示行号

 

set showmatch 简写set sm 括号成对匹配
set noshowmatch 简写set nosm 取消显示括号匹配

 

set ai 自动缩进
set noai 取消自动缩进

 

set hlsearch 高亮显示
set nohlsearch 取消高亮显示

 

syntax on 语法高亮
syntax off 取消语法高亮

 

set ic 忽略大小写
set noic 取消忽略大小写

 

fileformat=unix 文件格式unix
fileformat=dos 文件格式dos

 

set textwidth=65 (vim only)
set wrapmargin=15

 

:help option-list
:set or :set all

 

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

(0)
dengjiandengjian
上一篇 2016-08-11 09:37
下一篇 2016-08-11 09:37

相关推荐

  • 误删除centos6.8内核修复全过程

    关于误删除系统内核或内核损坏修复教程,本教程主要详细描述系统内核或内核损坏修复过程中步骤详解 一.操作环境 硬件:华硕笔记本 软件:VMware Workstation Pro 12版本  Centos 6.8.iso镜像 二,修复步骤 第一步,我们先要挂载centos6.8的镜像,然后光盘启动 进入系统救援模式 进入当前系统的根目录 我们需要手动…

    Linux干货 2016-09-05
  • 一位老it工程师的忠告,新手进来学习,老手进来体会,收获很大。

    诸位,咱当电子工程师也是十余年了,不算有出息,环顾四面,也没有看见几个有出息的!回顾工程师生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们师弟师妹们提个醒,希望他们比咱们强! [1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐…

    Linux干货 2015-02-26
  • 安装CentOS 7.2操作系统

        工具:     VMware Workstation     http://www.vmware.com/cn/products/workstation/workstation-evaluation.html  &nbsp…

    Linux干货 2016-08-04
  • CollabNetSubversionEdge服务搭建

    准备目录并设置权限 [root@localhost ~]# mkdir /var/svn [root@localhost ~]# chown bohui:bohui /var/svn/ [root@localhost ~]# chmod 700 /v…

    Linux干货 2015-10-18
  • 马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d' ' -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 [ro…

    Linux干货 2016-07-29
  • LVM逻辑卷管理

    一、lvm介绍     1.lvm概念                        &n…

    Linux干货 2016-09-02