【Linux】- vim三种模式

184 阅读6分钟

vi介绍

vi编辑器是所有Unix 及 Linux 系统下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器,由于在Unix 及 Linux 系统的任何版本,vi编辑器是完全相同的,因此可以在其它任何介绍vi的地方都能进一步了解它,vi也是Linux中最基本的文字编辑器,学会它后,我们将在Linux的世界里畅行无阻,尤其是在终端中。 关于vim: vi和vim都是Linux中的编辑器,不同的是,vim比较高级,可以视为vi的升级版本。vi适用于文本编辑,但是vim更适用于coding。 vim的重点是光标的移动,模式切换,删除,查找,替换,复制,粘贴,撤销命令的使用。

vim三种模式

vim存在三种模式(大众的认知):命令模式、编辑模式(输入模式)、末行模式(尾行模式) 命令模式:在该模式下不能对文件直接编辑,可以输入快捷键进行一些操作(删除行、复制行、移动光标、粘贴等)【vim打开文件后默认进入该模式】 编辑模式:在该模式下可以对文件的内容进行编辑 末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等) Vim打开文件的方式(4种,要求掌握前三种): #vim 文件路径 —— 打开指定文件 #vim +数字 文件路径 —— 打开指定文件,并且把光标移动到指定行 #vim +/关键词 文件路径 —— 打开指定文件,并且高亮显示关键词 #vim 文件路径1 文件路径2 ... —— 同时打开多个文件

一、命令模式
  • 光标移动 1、光标移动到行首 —— shift+6^,不能按小键盘的6键 2、光标移动到行尾 —— shift+4$ 3、光标移动到首行 —— gg 4、光标移动到末行 —— Gshift+g 5、向上翻屏 —— PgUpctrl+b 6、向下翻屏 —— PgDnctrl+f 7、光标快速移动到指定行 —— 数字 G 8、光标向上/下/左/右移动n个位置 —— 数字 ↑/↓/←/→ 9、末行模式下的快速移动光标方式 —— shift+:,然后输入数字,再按回车键
  • 复制/粘贴 1、复制光标所在行 —— yy 2、粘贴 —— p 3、以光标所在行为准(包含当前行),向下复制指定的行数 —— 数字 yy 4、可视化复制 —— ctrl+v,然后按下方向键来选中需要复制的区块,按下yy键进行复制,最后按下p键粘贴
  • 剪切/删除 1、剪切/删除光标所在行(删除之后下一行上移) —— dd 2、以光标所在行为准(包含当前行),向下剪切/删除指定的行数 —— 数字 dd 3、剪切/删除光标所在行(删除之后下一行不上移) —— D
  • 撤销/恢复 1、撤销 —— u (undo) 2、恢复 —— ctrl+r
二、模式切换

三、末行模式
  • 保存操作(write) :w —— 保存文件 :w 路径 —— 另存为
  • 退出(quit) 输入:q —— 退出文件
  • 保存并退出 :wq
  • 强制(!) :q! —— 表示强制退出,刚才做的修改操作不保存
  • 调用外部命令 :!外部命令 —— 比如 :!ls -la /
  • 搜索/查找 /关键词 在搜索结果中切换上/下一个结果:N(上一个)、n(下一个) 如果需要取消高亮,需要输入:nohl
  • 替换 :s/搜索的关键词/新的内容 —— 替换光标所在行第一个符合条件的内容 :s/搜索的关键词/新的内容/g —— 替换光标所在行全部符合条件的内容 :%s/搜索的关键词/新的内容 —— 替换整个文档每行第一个符合条件的内容 :%s/搜索的关键词/新的内容/g —— 替换整个文档全部符合条件的内容

%表示文档,/g表示全局(global)

  • 显示行号 :set nu —— 显示行号,set nonu —— 隐藏行号 这种显示行号的方式是临时的,要想设置永久生效,可以通过vim配置文件设置
  • 使用vim同时打开多个文件,在末行模式下进行切换文件相关命令

:files —— 查看当前已经打开的文件

#号位置有2种显示可能: %a:a=active,表示当前打开的文件 #:表示上一个打开的文件

切换文件方式: a. 切换到指定文件::open 文件名 b. 切换上一个/下一个文件::bp(back prev:上一个)、:bn(back next:下一个)

四、编辑模式

重点记住前2种方式,ia

五、实用功能
  • 代码着色 控制着色的显示与否::syntax off:隐藏着色,:syntax on:显示着色
  • 计算器的使用 当在编辑文件的时候需要使用计算器去计算一些公式,可以借助vim自身集成的简易计算器。 步骤: a. 进入编辑模式 b. 按下ctrl+R,然后输入 =,此时光标会变到最后一行 c. 输入需要计算的内容,再次按下 =,计算结果就会显示在之前光标所在位置
六、扩展
  • vim的配置 vim是一款编辑器,也是有配置文件的。 vim配置的三种情况: a. 在文件打开的时候在末行模式下输入的配置(临时的) b. 个人配置文件(~/.vimrc,如果没有可以自行新建) c. 全局配置文件(vim自带,/ect/vimrc) 优先级:临时 > 个人配置 > 全局配置
  • 异常退出 在编辑文件后没有去正常保存退出,而是遇到突然断电或直接关闭终端,则会显示下面的效果,这种情况称之为异常退出: 解决办法:将交换文件(在编程过程种产生的临时文件)删除掉即可,rm -f .文件名.swp
  • 别名机制 相当于创建一些属于自己的自定义命令,别名机制依靠一个别名映射文件(~/.bashrc) 案例:自定义cls命令,实现和clear一样的效果 a. 输入#vim ~/.bashrc b. 输入配置信息 注意:自定义命令生效,需要重启终端或重新登录当前用户
  • 退出方式 回顾:之前vim中退出编辑的文件使用 :q:wq。 除了上面的两个语法外,vim还支持另外一种保存退出方式::x(推荐)。

说明: ①:x 在文件没有修改情况下表示直接退出,在文件修改情况下表示保存并退出。 ②如果文件没有被修改,但是使用 :wq 进行退出的话,则文件的修改时间会被更新,但 :x 不会。 ③不要使用大写的X,X表示对文件进行加密操作。