vi
使用方法与vim完全相同,具体操作详情见vim板块。
vim
是vi的增强版,相比与vi多了语法的高亮显示,其他功能与vi并无差别。主要包含三种模式,普通模式、编辑模式、命令模式。三者切换方式如图:
普通模式
-
普通模式能做什么?
1) 能看文件内容
2) 能对文件进行翻页
3) 能对文件进行复制、粘贴、剪切、撤销等操作 -
怎么进入普通模式?
1) 直接使用vim进入文件默认就是普通模式
2) 当你正处于其他模式时使用esc键即可返回普通模式。 -
普通模式可以进入任何一个模式。
-
命令行光标的跳转
gg:跳转到文件首。
G:跳转到文件的末。
ngg:跳转到文件的第n行。
例:50gg可以跳转到文件的第50行
$:跳转到当前光标所在行的行尾。
^或0:跳转到当前光标所在行的行首。
ctrl+f:可以向下翻页。
ctrl+b:可以向上翻页。 -
复制粘贴
yy:复制当前行。
nyy:复制当前光标以及光标向下的n-1行,共n行。
p:复制到当前光标的下一行。
P:复制到当前光标的上一行。 -
删除剪贴撤销
dd:删除当前行。
ndd:删除当前光标以及光标详细的n-1行,共n行。
u:撤销。
D:删除当前行光标向后的内容。
x:删除光标后的内容,按照单个字符删除。
X:删除光标前的内容,按照到个字符删除。
剪贴操作只需删除要剪贴的内容后粘贴到所需位置即可。 -
替换
r: 替换当前光标所在的内容。
R:连续替换。使用esc可以停止替换。
编辑模式
- 编辑模式能做什么?
可以编辑文件内容。 - 怎么进入编辑模式?
a:光标跳转当前位置的下一个字符进行编辑。
A:光标跳转到当前行的行尾进行编辑。
i:光标在当前光标位置进行编辑。
I:光标跳转到当前行的行首进行编辑。
o:在当前光标的下面插入一行开始编辑。
O:在当前光标的上面插入一行开始编辑。 - 使用esc键可以返回普通模式。
命令模式(末行模式)
- 命令模式能干什么?
1) 保存
2) 退出
3) 查找
4) 替换 - 怎么在命令模式进行操作?
在普通模式下:
保存与退出:
:wq 保存并且退出
:q! 不报错强制退出
:w!强制保存当前状态
:w 保存
:q 退出(必须先保存)
:wq! 强制保存退出
ZZ 保存退出,等同于:wq 不推荐使用
:n 跳转到第n行
查找:
/ 可以查找文件内容,n可以查看下一个查找到的内容,N可以查找上一个查找到的内容。
例如:/a可以查找文件中所有包含a的内容。
替换:
: 1,5s#a#b#g 把1-5行所有的a替换成b
: %s#a#b#g 把文件中的所有的a替换成b
文件另存为:
:w 目标路径 将当前文件的所有内容保存到目标文件中。
文件内容读入:
:r 目标路径 读入目标文件的内容至当前光标下面
:nr 目标路径 读入目标文件的内容至当前文件的第五行的下面
查看行号:
set number:查看行号,可以简写为set nu
set nonumber:取消行号可以简写问 set nonu
set list:显示制表符,如空格等。
set ic:忽略大小写,常用于搜索
set ai: 可以自动缩进 - 使用esc键可以返回普通模式。
视图模式
ctrl+v:
进入可视块模式,选中需要注释的块。
按下shift+I进入编辑模式,然后输入#,即可为选中的所有行来添加注释。
以上只是一种常用用法,在这个模式下还可以做批量替换,批量删除等操作。
shift+v:
进入可视行模式,选择需要操作的行,可以一次性批量进行操作。
在可视行模式下复制粘贴还有删除剪切操作只需使用y、p、d即可。
当我们编辑一个文件的时候,有时会出现异常情况(断网,误操作),在这种情况下,在我们再一次编辑文件时,可以选择r键恢复到修改后的状态。也可以选择e键恢复到文件没保存前的状态。在文件恢复后必须删除swp文件,不然会对文件编辑产生很烦的影响。
vimdiff
可以对比两个文件的差异。