vim 编辑操作

一、基本简介

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

在这里插入图片描述

二、打开新建

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

Explain:

三、基本模式

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

Explain:

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

四、重复次数

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

Explain:

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

五、移动光标

  • 基本移动
序号命令手指作用
01h食指向左
02j食指向下
03k中指向上
04l无名指向右
  • 行内移动
序号命令英文作用
01wword向后移动 一个单词
02bback向前移动 一个单词
030快速移动到 行首
04$快速移动到 行尾
05^快速移动到 非空行首
  • 行数移动
序号命令英文作用
01gggo快速移动到 文本顶部非空行首
02Ggo快速移动到 文本末尾非空行首
03ngggo快速移动到 指定行数非空行首
04nGgo快速移动到 指定行数非空行首
05:n末行模式快速移动到 指定行数非空行首
  • 屏幕移动
序号命令英文作用
01Ctrl + bback向上翻页
02Ctrl + fforward向下翻页
03HHead快速移动到 屏幕顶部非空行首
04MMiddle快速移动到 屏幕中间非空行首
05LLow快速移动到 屏幕底部非空行首
  • 段落移动
序号命令英文作用
01{上一空行段
02}下一空行段
03%括号匹配及切换
04mXmark添加标记 A - Z 任意大小写字母
05`X直接定位到标记 X 所在位置

Explain:

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

六、选中文本

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

Explain:

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

七、撤销恢复

序号命令英文作用
01uundo撤销 上次的命令
02Ctrl + rredo恢复 上次的命令

八、删除文本

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

九、复制文本

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

Explain:

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

十、替换文本

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

Explain:

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

十一、缩排文本

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

Explain:

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

十二、查找文本

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

Explain:

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

十三、查找替换

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

Explain:

  • 以下为提示命令说明
序号命令英文作用
01yyes确定
02nno取消
03aall全部
04qquit退出
05llast行首
06^E向下滚屏
07^Y向上滚屏

十四、插入文本

序号命令英文作用
01iinsert在光标所在 位置前 插入字符
02Iinsert在光标所在 行首前 插入字符
03aappend在光标所在 位置后 插入字符
04Aappend在光标所在 行尾后 插入字符
05o在光标所在 的下行 插入空行
06O在光标所在 的上行 插入空行

十五、分屏窗口

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

Explain:

  • 切换文件之前,必须保证当前编辑文件 已保存
  • 可以使用 03 进行 阶段性备份代码
  • 以下为窗口命令说明
序号命令英文作用
01Ctrl + w + wwindow切换 下一窗口
02Ctrl + w + rreverse互换 窗口位置
03Ctrl + w + cclose关闭 当前窗口
04Ctrl + w + qquit退出 当前窗口
05Ctrl + w + oother关闭 其他窗口
  • 11
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值