光标移动,模式切换,删除,查找,替换,复制,粘贴,撤销
三种模式
命令模式
编辑模式(输入模式)
末行模式(尾行模式)
命令模式
默认进入
不能对文件直接进行编辑,可以输入快捷键进行操作
编辑模式
在该模式下可以对文件内容进行编辑
末行模式
可以在末行命令来对文件进行操作(搜索,替换,保存,退出,撤销)
vim打开文件的方式
vim 文件路径 打开指定文件
vim +数字 文件路径 打开指定的文件,并且将光标移动到指定行
vm +/关键字 文件的路径 打开指定的文件,并且高粱显示关键词
vim 文件路径1 文件路径2 文件路径3 同时打开多个文件
退出方式: :q
命令模式
光标操作
- 光标移动到行首: shift + 6
- 光标移动到行位: shift + 4
- 光标移动到首行: gg
- 光标移动到末行: G(大小写切换或者shift+g)
- 向上翻屏: ctrl + b / PGUP (before)
- 向下翻屏: ctrl + f / PGDN (after)
- 移动到指定的行数
数字 G
- 以当前光标为准向上向下移动n行
数字 ↑ ↓
- 以当前光标为准向左向右移动n个
数字 ← →
- 末行模式下
: 数字
复制
配合粘贴地址使用
-
复制光标所在行: yy
粘贴: 粘贴所在地: p
-
以光标所在行为准,向下复制指定多行(包含当前行): 数字 yy
-
可视化复制: ctrl + v, 箭头移动选择,yy复制,p粘贴;中途退出esc
剪切/删除
- 剪切/删除光标所在行 dd (下面会上移
- 以光标所在行为准,向下剪切指定多行(包含当前行): 数字 dd(下一行上移
- 剪切/删除后下一行不上移(当前行不上移) D
撤销
撤销:: u 或 u
恢复:ctrl + r
末行模式
进入方式:命令模式按下:
或*\
*
退出方式:
- 按exc
- 连按两下esc
- 删除末行所有的字符
保存
: w
保存 (write)
:w 路径
另存为
退出
:q
退出
:wq
保存退出
强制
:q!
强制退出不保存
调用外部命令
:!命令
例::!ls
搜索
/关键词
在结果中切换结果(上大下小)N n
取消高亮
:nohl
(no high light)
替换
:s/搜索的关键词/new
string replace 替换光行所在的第一处符合条件的内容:s/old/new/g
替换光标所在行的内容:%s/old/new
替换整个文档中每一行第一个符合条件的内容:%s/old/new/g
替换整个文档中符合条件的内容
%表示整个文件,g表示全局
显示行号
:set nu
:set nonu
关闭行号
同时打开多个文件在末行模式下切换文件
查看当前已打开的文件
:files
会显示%
- %a 表示正在打开的文件
- # 表示上一个打开的文件
切换文件的方式
-
切换指定文件:
:open 文件
-
命令切换上下一个文件
:bn
切换到下一个文件(back next):bp
切换到上一个文件(back previous)
-
编辑模式
进入方式:
i, I | 进入输入模式(Insert mode): i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用) |
---|---|
a, A | 进入输入模式(Insert mode): a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用) |
o, O | 进入输入模式(Insert mode): 这是英文字母 o 的大小写。o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行!(常用) |
r, R | 进入取代模式(Replace mode): r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用) |
上面这些按键中,在 vi 画面的左下角处会出现『–INSERT–』或『–REPLACE–』的字样。 由名称就知道该动作了吧!!特别注意的是,我们上面也提过了,你想要在档案里面输入字符时, 一定要在左下角处看到 INSERT 或 REPLACE 才能输入喔! | |
[Esc] | 退出编辑模式,回到一般模式中(常用) |
其他
:syntax on/off 打开代码着色