文本编辑器vi快速入门

1. vi模式

建议升级到vim

vi [文件名]

1.1 命令模式(Command Mode)

  • 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入其他模式。

h j k l 左 下 上 右
$ 至行尾 0(零) 至行首

  • vi的缺省模式
  • 键盘输入当作命令,命令有大小写之区分

复制和移动
yy 复制当前行到内存缓冲区
nyy:复制从当前行开始的n行内容到内存缓冲区。
p:将缓冲区的内容粘贴到光标的后面
P:将缓冲区的内容粘贴到光标的前面

搜索字符串
/pattern:移至下一个包含pattern的行
?pattern:移至上一个包含pattern的行
n:在同一方向重复查找
N:在相反方向重复查找

其他
u:撤销前一条命令的结果
ctrl+r:恢复撤销的更改,可以一直按该组合键达到最新的改变。
ctrl+g:列出光标所在行的行号。

1.2 插入模式(Input Mode)

  • 只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式。
  • 在命令模式使用 a、i、o、c、r、s 进入插入模式

新增 (append)
a 从光标所在位置后面开始新增内容
A 从光标所在行最后面的地方开始新增内容。

插入 (insert)
i 从光标所在位置前面开始插入内容
I 从光标所在行的第一个非空白字符前面开始插入资料。

开始 (open)
o 在光标所在行下新增一行并进入输入模式。
O 在光标所在行上新增一行并进入输入模式。

修改
r:修改光标所在字符,r 后接着要修改的字符。如,rc 可以用字符“ c ”替换光标所指向的当前字符。
R:进入替换状态,替换当前字符及其后的字符,直到按 [ESC] 回到命令模式下为止。

删除
nx:删除光标所在位置后n个字符。省略n表示1。如2x (n:连续点击x的次数)
nX:删除光标所在位置前n个字符。省略n表示1。

  • 用户输入的任何字符都被vi当做文件内容保存起来,并将其显示在屏幕上
1.3 末行模式(Last Mode)
  • 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
  • 在 Command Mode 按下 : (英文冒号)即可进入该模式
  • 命令有大小写之分

文件的保存和退出
w 文件名: 保存
q:退出
w!:强制保存
q!:不存盘强制退出
wq:保存退出
wq!:强制保存退出
x:保存当前文件并退出

字符串的替换
s/str1/str2/,用字符串str2替换当前行首次出现的字符串 str1
s/str1/str2/g,用字符串str2替换当前行所有出现的字符串 str1
.,$ s/str1/str2/g,用字符串str2替换正文****当前行到末尾所有出现的字符串 str1
n1,n2 s/str1/str2/g:将第n1至n2行中所有str1均用str2替代

其他:
: n 将光标移到第 n 行
:set nu:显示行号
:set nonu:关闭行号
:e filename 编辑指定文件
:!command:执行shell命令command

你可能感兴趣的:(Linux)