vim中的三种模式:(1) 命令模式;(2) 编辑模式(输入模式);(3) 末行模式(尾行模式)。

  • 命令模式:在该模式下不能对文件直接进行编辑,但可以使用一些快捷键岁文件进行操作(删除行、复制行、移动光标、粘贴等)【打开时候默认进入的模式】;
  • 编辑模式:在该模式下可以对文件内容进行编辑;
  • 末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等)。

vim打开文件的方式:

#vim 文件路径                  作用:打开指定的文件
#vim +数字 文件路径            作用:打开指定文件,并将光标移动到指定行
#vim +/关键字 文件路径         作用:打开指定文件,并高亮显示关键词
#vim 文件路径1 文件路径2 ...   作用:同时打开多个文件

1 命令模式

注:该模式是打开文件的第一个看到的模式(打开文件即可进入)

1.1 光标移动

(1) 光标移到行首
按键:^shift + 6(不是数字键盘的6)

(2) 光标移到行尾
按键:$shift + 4(不是数字键盘的4)

(3) 光标移动到首行
按键:gg

(4) 光标移动到末行
按键:G

(5) 翻屏
向上翻屏:按键 Ctrl + bPgUp
向下翻屏:按键 Ctrl + fPgDn

1.2 复制操作

(1) 复制光标所在行
按键:yy
粘贴:在想要粘贴的地方按下p

(2) 以光标所在行为准(包含当前行),向下复制指定的行数
按键:数字 yy

(3) 可视化复制
按键:Ctrl + v,然后按↑↓←→方向键来选中需要复制的区块,按下y键进行复制,最后按下p键粘贴。

1.3 剪切/删除

(1) 剪切/删除光标所在行
按键:dd (删除之后下一行上移)
注意:dd严格意义上说是剪切命令,但如果剪切之后不粘贴即为删除。

(2) 剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
按键:数字 dd (删除之后下一行上移)

(3) 剪切/删除光标所在的当前行,但删除之后下一行不上移
按键:D (删除之后当前行会变成空白行)

1.4 撤销/恢复

撤销:输入:u(末行模式)或u(命令模式),u为undo的缩写
恢复:Ctrl + r 恢复(取消)之前的撤销操作

1.5 光标的快速移动

(1) 快速将光标移动到指定的行
按键:数字 G

(2) 以当前光标为准向上/向下移动n行
按键:数字n ↑数字n ↓

(3) 以当前光标为准想左/向右移动n个字符
按键:数字n ←数字n →

(4) 末行模式下的快速移动方式:移动到指定的行
按键::数字 + 回车

2 末行模式

进入方式:由命令模式进入,按下“:”或“/(表示查找)”即可进入
退出方式:
(1) 按下Esc
(2) 连按两次Esc键(较(1)更快)
(3) 删除末行全部输入字符

  • 保存操作(write)
    输入:“:w保存文件
    输入:“:w 文件路径” 另存为
  • 退出(quit)
    输入:“:q
  • 保存并退出
    输入:“:wq
  • 强制退出(!)
    输入:“:q!” 表示强制退出,即不保存修改操作
  • 调用外部命令
    输入:“:!外部命令
    例如:在vim末行模式下输入::!ls,就会暂时隐藏文件,显示外部命令的执行结果,如下图所示,按下任意键后返回vim编辑器打开的内容。
    在这里插入图片描述
  • 搜索/查找
    输入:“/关键词
    在这里插入图片描述
    在搜索结果中切换上/下一个结果:N/n
    如果需要取消高亮,则需输入:nohl
  • 替换
:s/搜索的关键词/新的内容         替换光标所在行第一处符合条件的内容
:s/搜索的关键词/新的内容/g       替换光标所在行全部符合条件的内容
:%s/搜索的关键词/新的内容        替换整个文档中每行第一处符合条件的内容
:%s/搜索的关键词/新的内容/g      替换整个文档中全部符合条件的内容

%表示整个文件
g表示全局(global)

  • 显示行号
    输入:“:set nu”【number】
    如果向取消显示,则输入:“:set nonu
  • 使用vim同时打开多个文件,在末行模式下进行切换
    切换文件的方式:
    (1) 如果需要指定切换文件的名称,则可以输入:“:open 已打开的文件名
    (2) 可以通过其他命令来切换上一个文件/下一个文件
    输入:“:bn”切换到下一个文件
    输入:“:bp”切换到上一个文件
    注:查看当前已经打开的文件名称:“:files
    在这里插入图片描述
    红色高亮部分:
    (1) %a:a = active,表示当前正在打开的文件;
    (2) #:表示上一个打开的文件
    蓝色高亮部分:若行数不为0,则表示已经打开过;若行数为0,则表示尚未打开。

3 编辑模式

进入编辑模式的2种常用方法:按键i, a
退出方式:按下Esc

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐