三种模式
命令模式、编辑模式、末行模式
- 命令模式: 在该模式下,不能对文件直接编辑。可以输入快捷键(命令)进行一些操作(删除行、复制行、移动光标、粘贴等);打开文件之后默认进入该模式
- 编辑模式:在该模式下可以对文件的内容进行编辑
- 末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等)
vim 打开文件的方式
- vim 文件路径
作用:打开指定文件(不存在则创建) - vim +数字 文件路径
作用:打开指定文件,并将光标移动到指定行 - vim +/关键词 文件路径
作用:打开指定的文件,并且高光显示关键词(搜索)
重点:先复制出一个/etc/password 文件,复制当前家目录下(千万不要在etc下直接修改)
命令模式
刚进来就是命令模式
- :q ----退出
常用光标移动操作
- 光标移动到当前行的行首:
按键:shift+6或^
(上排的6,不是小键盘的6,打开数字模式也不行) - 光标移动到当前行的行尾:
按键:shift+4或$
(同时注意非小键盘) - 光标移动到首行的行首
按键:gg - 光标移动到末行的行首
按键:G - 翻屏
向上翻屏:按键 ctrl+b (before) 或 PgUp
向下翻屏: 按键 ctrl+f (after) 或 PgDn - 快速定位到指定行
按键:数字 G
其他搜索
复制操作
- 复制光标所在行
按键: yy
粘贴:在想要粘贴的地方按下p(小写)键
将粘贴在光标所在行的下一行,
如果想粘贴在光标所在行之前,则用P(大写)键
剪切/删除
- 剪切/删除光标所在行
按键: dd (删除之后下一行上移)
注意:dd严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除效果。 - 剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
按键:数字 dd (删除之后下一行上移) - 剪切/删除光标所在的当前行(光标所在位置)之后的内容,但是删除之后下一行不上移
按键:D (删除之后当前行会变成空白行)
撤销/恢复
- 撤销:u 或 “:u”(不属于命令模式,而是末行模式)
- 恢复:ctrl+R
模式间切换
- 命令模式--->编辑模式
按键: i / a - 编辑模式---->命令模式
按键:ESC - 命令模式--->末行模式
按键: 输入 :(英文) - 末行模式--->命令模式
按键:按一下esc或者两下esc, 删除末行全部命令 - 末行模式和编辑模式之间是没有办法直接切换的
末行模式
-
保存
输入--------- :w
输入--------- :w 路径 ---------另存为 -
退出(quit)
输入--------- :q 退出文件
默认情况下,退出时时候需要先保存再退出 -
保存并退出
输入--------- :wq -
强制
输入--------- :q!
表示强制退出,刚才做的修改操作不做保存 -
搜索/查找
输入:‘/关键词’,再按下回车
n--下一个
N--上一个
不要高亮
输入: :nohl -
替换
:s/搜索的关键词/新的内容
替换光标所在行的第一处符合条件的内容;
:s/搜索的关键词/新的内容/g
替换光标所在行的全部符合条件的内容;
:%s/搜索的关键词/新的内容
替换整个文档中每行第一个符合条件的内容;
:%s/搜索的关键词/新的内容/g
替换整个文档的符合条件的内容
% 整个文件
g 表示全局(global)
末行模式2
- 显示行号(临时)
当前打开文件显示
输入:“:set nu”
如果想取消显示,则输入“:set nonu”
如果永久显示行号,每一次打开文件都显示,需要对vim进行配置
建议创建文件:“~/vimrc”
然后在文件中写入该命令
其他设置也可以在该命令中设置
该文件写在当前目录的家上
该配置针对用户,每一个用户自己家都有一个独立的.vimrc
- 扩展
编辑模式
i、a 进入
esc 退出