vim 编辑操作

文章目录

      • 一、基本简介
      • 二、打开新建
      • 三、基本模式
      • 四、重复次数
      • 五、移动光标
      • 六、选中文本
      • 七、撤销恢复
      • 八、删除文本
      • 九、复制文本
      • 十、替换文本
      • 十一、缩排文本
      • 十二、查找文本
      • 十三、查找替换
      • 十四、插入文本
      • 十五、分屏窗口

一、基本简介

  • 在很多 Linux 发行版中,直接把 vi 做成 vim 的软链接
  • vi 的简称是 visual interface,是 Linux 系统中最经典的文本编辑器
  • vi 的核心设计思想,是让专业人员在键盘的核心区域就能完成所有的编辑操作
  • vim 的简称是 vi improved,是 vi 发展出来的文本编辑器,支持 代码补全、错误跳转以及编译 等各种实用功能
sudo apt install vim

vim 编辑操作_第1张图片

二、打开新建

序号 命令 作用
01 vi 文件名 打开指定文件,若不存在,则新建打开
02 vi 文件名 +行数 打开指定文件,快速定位到错误代码行

Explain:

  • vi 文件名 + 直接定位到文件末尾
  • vi 退出异常,在磁盘上可能会保存有 交换文件
  • 下次再编辑时,会弹出提示,按 D 即可删除 交换文件

三、基本模式

i
:
wq
Esc
Esc
打开文件
命令模式
编辑模式
末行模式
关闭文件

Explain:

  • 打开文件,首先进入 命令模式
  • 按下 i(insert) 进入 编辑模式
  • 按下 : 进入 末行模式 ,以下为命令功能说明
序号 命令 英文 作用
01 :w write 保存
02 :q quit 退出
03 :q! 强制退出
04 :wq write & quit 保存并退出
05 :wq! 强制保存并退出
06 :x 保存并退出

四、重复次数

  • 在命令模式下,输入一个数字,再跟上一个命令,就可以让该命令 重复执行指定次数
  • 示例步骤:
    • 输入 n ,次数
    • 按下 i ,进入编辑模式
    • 输入 * ,字符
    • 按下 Esc,返回命令模式
    • 输出 n 次个 * 字符

Explain:

  • 进入编辑模式之前,请勿按数字

五、移动光标

  • 基本移动
序号 命令 手指 作用
01 h 食指 向左
02 j 食指 向下
03 k 中指 向上
04 l 无名指 向右
  • 行内移动
序号 命令 英文 作用
01 w word 向后移动 一个单词
02 b back 向前移动 一个单词
03 0 快速移动到 行首
04 $ 快速移动到 行尾
05 ^ 快速移动到 非空行首
  • 行数移动
序号 命令 英文 作用
01 gg go 快速移动到 文本顶部非空行首
02 G go 快速移动到 文本末尾非空行首
03 ngg go 快速移动到 指定行数非空行首
04 nG go 快速移动到 指定行数非空行首
05 :n 末行模式快速移动到 指定行数非空行首
  • 屏幕移动
序号 命令 英文 作用
01 Ctrl + b back 向上翻页
02 Ctrl + f forward 向下翻页
03 H Head 快速移动到 屏幕顶部非空行首
04 M Middle 快速移动到 屏幕中间非空行首
05 L Low 快速移动到 屏幕底部非空行首
  • 段落移动
序号 命令 英文 作用
01 { 上一空行段
02 } 下一空行段
03 % 括号匹配及切换
04 mX mark 添加标记 A - Z 任意大小写字母
05 `X 直接定位到标记 X 所在位置

Explain:

  • 标记行若被删除,标记同时被删除
  • 添加相同标记行,标记同时被替换

六、选中文本

序号 命令 模式 作用
01 v 可视模式 选中从光标初始位置移动到 光标最终位置的文本
02 V 可视 模式 选中从光标初始位置移动到 光标经过完整行的文本
03 Ctrl + v 可视 模式 选中从光标初始位置 二维 移动到 光标最终位置的文本

Explain:

  • 在可视模式下,可以和 移动命令 组合使用,例如:ggVG 全选

七、撤销恢复

序号 命令 英文 作用
01 u undo 撤销 上次的命令
02 Ctrl + r redo 恢复 上次的命令

八、删除文本

序号 命令 英文 作用
01 x cut 快速删除光标 所在字符
02 md delete 快速删除光标 选中字符
03 dd delete 快速删除光标 所在完整行
04 D delete 快速删除从光标初始位置到 一行行尾
序号 示例 作用
01 dw 快速删除从光标位置到 单词末尾
02 d0 快速删除从光标位置到 行首
03 d} 快速删除从光标位置到 段落结尾
04 ndd 快速删除从光标所在行到 向下连续的 n
05 dngg 快速删除从光标所在行到 指定代码行
06 d`X 快速删除从光标所在行到 标记 X 代码行

九、复制文本

序号 命令 英文 作用
01 my copy 快速复制光标 选中字符
02 yy copy 快速复制光标 所在完整行
03 p paste 快速粘贴 文本缓冲区 里复制剪切的文本内容
序号 示例 作用
01 yw 快速复制从光标位置到 单词末尾
02 y0 快速复制从光标位置到 行首
03 y} 快速复制从光标位置到 段落结尾
04 nyy 快速复制从光标所在行到 向下连续的 n
05 yngg 快速复制从光标所在行到 指定代码行
06 y`X 快速复制从光标所在行到 标记 X 代码行

Explain:

  • vi 的 文本缓冲区 和系统的 剪贴板 ,不通用
  • vi 的 文本缓冲区只有一个,后续的复制剪切操作会覆盖之前缓冲的文本内容

十、替换文本

序号 命令 英文 作用 工作模式
01 r replace 替换当前光标 所在的字符 命令模式
02 R replace 替换当前光标 所在行后的字符 替换模式

Explain:

  • 在命令模式下, 对文本进行轻量级的修改

十一、缩排文本

序号 命令 作用
01 >> 在当前光标位置 向右增加缩进
02 << 在当前光标位置 向左减少缩进
03 . 在当前光标位置 重复上次命令

Explain:

  • 在程序中,缩进 通常用来表示代码的归属关系
  • 在可视模式下, 只需要一个 > or < 即可进行缩排

十二、查找文本

序号 命令 作用
01 :set hls 打开 关键词高亮
02 :set nohls 关闭 关键词高亮
03 /XXX 向下 查找关键词
04 ?XXX 向上 查找关键词
05 n 查找 下一个 关键词
06 N 查找 上一个 关键词
07 * 高亮当前光标所在单词并 向下 查找
08 # 高亮当前光标所在单词并 向上 查找

Explain:

  • 查找文本 不存在的 内容即可 关闭 关键词高亮

十三、查找替换

序号 命令 作用
01 :%s/old/new/g 一次性 替换文件中 所有出现的旧文本
02 :s/old/new/g 选中可视范围 ,替换范围内 所有出现的旧文本
03 :%s/old/new/gc 提示性 替换文件中 所有出现的旧文本

Explain:

  • 以下为提示命令说明
序号 命令 英文 作用
01 y yes 确定
02 n no 取消
03 a all 全部
04 q quit 退出
05 l last 行首
06 ^E 向下滚屏
07 ^Y 向上滚屏

十四、插入文本

序号 命令 英文 作用
01 i insert 在光标所在 位置前 插入字符
02 I insert 在光标所在 行首前 插入字符
03 a append 在光标所在 位置后 插入字符
04 A append 在光标所在 行尾后 插入字符
05 o 在光标所在 的下行 插入空行
06 O 在光标所在 的上行 插入空行

十五、分屏窗口

  • 末行命令扩展
序号 命令 英文 作用
01 :e . edit 打开内置的 文件浏览器 ,显示当前目录文件
02 :n 文件名 new 在当前目录, 新建文件
03 :w 文件名 write 在当前目录, 另存为文件 ,不切换编辑文件
  • 分屏命令使用
序号 命令 英文 作用
01 :sp 文件名 split 横向 增加分屏
02 :vsp 文件名 vertical split 纵向 增加分屏

Explain:

  • 切换文件之前,必须保证当前编辑文件 已保存
  • 可以使用 03 进行 阶段性备份代码
  • 以下为窗口命令说明
序号 命令 英文 作用
01 Ctrl + w + w window 切换 下一窗口
02 Ctrl + w + r reverse 互换 窗口位置
03 Ctrl + w + c close 关闭 当前窗口
04 Ctrl + w + q quit 退出 当前窗口
05 Ctrl + w + o other 关闭 其他窗口

你可能感兴趣的:(Linux,Linux,基础笔记)