二、学习笔记,Vi基本使用

Vi的基本模式

Vi编辑器具有三种工作模式,分别 是命令行模式(command mode)、插入模式(insert mode)和底行模式(last mode)。

1、命令行模式

  • 在命令行模式(command mode)下用户可以输入命令来控制屏幕光标的移动,删除字符、单词或行,移动复制某区段,也可以进入到底行模式或者插入模式。

2、插入模式

  • 用户 只有在插入模式(insert mode)下才可以进行字符输入,用户按[Esc]键可回到命令行模式下。

3、底行模式

  • 在底行模式(last mode)下,用户可以将文件保存或退出vi,也可以设置编辑环境,如查找字符串、显示行号等。这一模式下的命令都是以“ :”开始。

Vi的基本操作

命令行模式、底行模式转为插入模式

特征 指令 作用
新增 a 从光标所在的位置后面开始新增资料,光标后的资料随新增资料向后移动
A 从光标所在列最后面的地方 开始新增资料
插入 i 从光标所在的位置前面开始插入资料,光标后的资料随新增资料向后移动
I 从光标所在列的第一个非空白字符前面开始新增资料
开始 o 在光标所在列下方新增一列,并进入插入模式
O 在光标所在列上方新增一列,并进入插入模式

vi的删除/剪切、修改与复制指令

特征 指令 作用
剪切 nx 剪切从光标所在的字符开始的n个字符
ncb 剪切光标所在的前n个单词
ncw 剪切光标所在的后n个单词
c$ 剪切自光标所在的字符到行尾的所有字符
ndd 剪切自光标所在的行开始 n行,若到文章结尾不够n行,则剪切到最后一行
s 删除光标所在的字符,并进入输入模式
S 删除光标所在的行,并进入输入模式
修改 r待修改字符 修改光标所在的字符,键入r 后直接键入待修改字符
R 进入取代状态,可移动光标键入所指位置的修改字符,该取代状态直到按 [ Esc ]键才结束
复制 nyb 复制光标所在的前n个单词
nyw 复制光标所在的后n个单词
y$ 复制从光标所在的字符到行尾的所有字符
nyy 复制光标自所在的行开始,向下的n行
p 将缓冲区内的字符粘贴到光标所在位置
u 取消上一次的文本编辑操作

vi中光标移动的指令

指令 作用 指令 作用
0 移动到光标所在行的最前面 h 光标向前移动一个字符
$ 移动到光标所在行的最后面 l 光标向后移动一格字符
Ctrl + d 光标向下移动半页 k 光标向上移动一行
Ctrl + f 光标向下移动一页 j 光标向下移动一行
H 光标移动到当前屏幕的第一行第一列 e 移动到下一个字的最后一个字母
gg 光标移动到当前屏幕的第一行第一列 ^ 移动到光标所在行的第一个非空白字符
M 光标移动到当前屏幕的中间行第一列 n- 向上移动 n 行
L 光标移动到当前屏幕的最后行第一列 n+ 向下移动 n 行
b 移动到上一个字的第一个字母 nG 移动到第 n 行
w 移动到下一个字的第一个字母 :n 光标移动到第 n 行

vi的查找与替换指令

特征 指令 作用
查找 /<要查找的字符> 向下查找要查找的字符
?<要查找的字符> 向上查找要查找的字符
替换 :rang s/string1/string2/gc range :要替换的范围
s :转入替换模
string1 :这是要查找的一个正则表达式
string2 :这是希望把匹配串变成的模式的正则表达式
g :可选标志,带这个标志表示替换将针对行中每个匹配的串进行,否则则只替换换行中第一个匹配串
c :可选标志,表示替换前询问
关于替换范围,有很多种写法,其中
  1. 百分号(%)表示行;
  2. 点(.)表示当前行;
  3. 美元符号($)表示末行

在进行剪切复制和黏贴操作时,也可以带上范围,即按快操作。

range y 块复制。

举例如下:

  • :10,20y 表示复制第10行到第20行
  • :.,$y 表示复制当前行到文章最后一行

range d 块删除。

举例如下:

  • :10,20d 表示删除第10行到第20行
  • :.,$d 表示删除当前行到文章最后一行

vi的文件操作指令

指令 作用 指令 作用
:q 结束编辑 :wq 保存文档并退出
:q! 不保存编辑过的文档 :zz 功能与“:wq”相同
:w 保存文档,其后可加要保存的文件名 :x 功能与“:wq”相同

猜你喜欢

转载自blog.csdn.net/Mr__Shen/article/details/84673624