目前学习使用Linux的vi,记录学习使用中遇到的问题及常使用的命令。

1、撤销操作 u

2、向文件尾翻半屏 Ctrl+d,向文件首翻半屏 Ctrl+u

3、向文件尾翻一屏 Ctrl+f,向文件首翻一屏 Ctrl+b

4、删到行首 do,删到行尾 d$

5、 在同一方向重复上一次搜索命令 n, 在反方向上重复上一次搜索命令 N

6、u撤销上一步操作,U撤销对当前行的所有操作

7、nG 跳到行号为n的行

 

8、多窗口编辑文件

命令行模式下“:sp filename”,上下屏显示文件;“:vsp filename”左右屏显示文件;

把光标移到右边的屏。Ctrl+W l

把光标移到左边的屏中。Ctrl+W h

把光标移到上边的屏中。Ctrl+W k

把光标移到下边的屏中。Ctrl+W j

把光标移到下一个的屏中。Ctrl+W w

9、跳到指定行

在编辑模式下ngg或nG,n为行号;在命令模式下:n;打开文件就跳转vim +n filename;

跳到行首 0或^ 符号;

跳到行尾 $

10、删除

dd 删除光标所在行
dw 删除一个字(word)
x 删除当前字符
X 删除前一个字符
D 删除到行末

11、复制、粘贴、撤销

yy 复制一行,此命令前可跟数字,标识复制多行,如6yy,表示从当前行开始复制6行
yw 复制一个字
y$ 复制到行末
p 粘贴粘贴板的内容到当前行的下面
P 粘贴粘贴板的内容到当前行的上面
]p 有缩进的粘贴,vim会自动调节代码的缩进

u 撤销

ctrl+r 撤销的撤销(相当于window的ctrl+y)

*y或+y是复制到系统剪切板

*p或+p是从系统剪切板粘贴

12、替换

vi/vim 中可以使用 :s 命令来替换字符串。
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
n 为数字,若 n 为 .,表示从当前行开始到最后一行

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/
:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/