.
vi (pronounced “vee eye”) text editor, one of the core programs in the Unix tradition.
Most Linux distributions don’t include real vi; rather, they ship with an enhanced replace-ment called vim (which is short for “visual interface improved”)written by Bram Moolenaar. vim is asubstantial improvement over traditional Unix vi and is usually symbolically linked (or aliased) to the name “vi”on Linux systems.
1、启动vi
命令 vi :用vi打开文件的方式启动 vi afile.txt
2、退出vi
正常退出 :q
强制不保存退出 :q!
3、进入insert mode
命令 i
4、文件写入硬盘保存
命令 :w
命令 :w 1.txt 文件另存为1.txt
5、光标移动
命令按键
作用
0
移动到当前行行首
^
移动到当前行的第一个非空字符
$
移动到当前行的末尾
w
移动到下一个单词或标点符号的开头
W
移动到下一个单词的开头,忽略标点符号
b
移动到上一个单词或标点符号的开头
B
移动到上一个单词的开头,忽略标点符号
G
GO移动到文件末尾
gg
双go移动到文件开头
15gg
双go移动到第15行
:15
移动到第15行
6、撤销最后一步操作:命令u (undo)
7、移动到行尾添加文本:命令A (append)
8、在上面打开新的一行:命令O
在下面打开新的一行:命令o
9、删除文本
命令
作用
dd
删除当前行
5dd
删除当前行和下面的4行
d$
从光标位置到行尾
d0
从光标位置到行首
dG
从当前行到文件末尾
d20G
从当前行到文件的第20行
3,$d
删除从第3行到末尾的内容
d3→
删除光标右侧3个字符
di"
删除光标所在双引号内的内容
10、剪切复制粘贴
d剪切;p粘贴;y拉(复制)
:r cfilename 把c文件的内容全部read进当前文件光标下一行
命令
作用
yy
复制拉走当前行
5yy
复制拉走当前行及随后的四行文本
y$
复制拉走从当前光标位置到当前行的末尾
yG
复制拉走从当前行到文件末尾
y20G
复制拉走从当前行到文件的第 20 行
3,20y
复制拉走从第3行到第20行的内容
v模式下选中后y
可视模式下选中后复制拉走
y3→
复制拉走光标右侧3个字符
11、命令J:当前行join上一行,连接起来
12、查找与替换
/string字符串 查找匹配的字符串
命令 n/N 跳到下一个匹配项
命令 :范围s/oldStr/newStr 将范围内的oldStr全部替换为newStr
例
作用
:s/str1/str2
替换当前行第一个匹配项
:s/str1/str2/g
替换当前行全部匹配项
:.,$s/str1/str2/g
替换当前行到文末全部匹配项
:2,10s/str1/str2/g
替换第2行到第10行全部匹配项
:%s/str1/str2/g
替换全文全部匹配项
13、在vi中执行外部命令 :! +一条command
例如: :! pwd查看当前的工作目录
14、翻页
命令
作用
含义
ctrl+b
向前翻页
b=back
ctrl+f
向后翻页
f=forward
15、v命令:进入可视模式(visual mode),可视模式下移动光标可自由选择
V命令:可视行模式
ctrl+v命令:可视块模式visual block,选择矩形区域
16、打开新的文件:命令 :e 文件路径
17、分屏
上下分屏
水平分屏
命令 :split
命令 :vsplit
在多屏间跳转:命令ctrl+w+方向键,跳到指定方向的屏中
命令ctrl+ww,跳到下一个屏中
修改当前窗口的大小:命令 :vertical resize+/-5,窗口大小+/-5
18、新的标签页 打开新的vim标签页:命令:tabe/tabedit
跳转到左侧标签页:命令 :-nexttab
跳转到右侧标签页:命令 :+nexttab
19、