vi的基本编辑总结

一个文本文件,里面拥有的无非是字符和行这两类东西。
我们首先来看看如何添加行+字符:Enter, o(O)
添加字符:i, a(A)

然后我们来看看怎么删除字符:x
删除该行行末换行符:J
删除行:dd
注意,这两种方式都可以加量词来批量删除。
但是在很多情况下,我们可能会需要借助一些特别的光标定位符进行删除。
d0(d^), d$
dw(dW), db(dB)
dG(可加量词)

因为vi中,删除会把删除掉的字符和行存储在一个buffer里面,所以删除可以理解为一个剪切操作,类比于其他编辑器,也应该有一个复制的功能。
vi中复制的功能类似于删除,请看下列表:
y0(y^), y$
yw(yW), yb(WB)
yG(可加量词)

既然有了剪切和复制,那么肯定有粘贴的功能,粘贴命令:
粘贴在当前位置之后:p
粘贴在当前位置之前:P

搜索,我们先看一下vi特有的行搜索:
f(后面加字符) //搜索结果切换使用;
我们再来看一下全文搜索:
/(?) //搜索结果切换使用n和N

替换,vi继承了ex行编辑器的替换实现,这是一种古老但实用的实现。
类似于退出vi的:q命令,vi的替换也是需要输入:的,vi的替换因此和前面几类命令有较大区别。命令格式类似下方:
:%s/Line/line/g
介绍一下这个ex命令:

  1. : 这是一个ex命令的开始标志
  2. % 这是一个范围选择符,代表从开头到结尾
  3. s 这是一个substitution(搜索并替换)命令
  4. /Line/line 这是一个命令的主体,意思是把Line替换成line
  5. g 这是一个substitution命令的参数(global),这个还有其他的参数c(check)

标签: none

添加新评论