当前位置: 首页 > news >正文

vi/vim跳转到指定行命令

vi/vim 中跳转到指定行有多种高效方法,以下是最常用的操作方式:

一、基础跳转:行号 + 命令

  1. 命令模式下直接输入行号
    Esc 切换到命令模式后,输入 :行号 并回车。例如,输入 :100 会直接跳转到第 100 行。

  2. 使用 G 快捷键

    • 绝对行号跳转:在命令模式下输入 行号G(如 100G),无需按回车即可跳转。
    • 快速定位首尾行
      • gg 跳转到文件首行。
      • G(大写)跳转到文件末行。

二、打开文件时直接定位

在终端中启动 vi/vim 时指定行号:

vim 文件名 +行号
# 示例:打开 file.txt 并跳转到第 65 行
vim file.txt +65

若行号超过文件总行数,光标会自动定位到最后一行。

三、显示行号辅助定位

  1. 临时显示行号
    在命令模式下输入 :set nununumber 的缩写),文件左侧会显示行号。
    例如:

    1   #!/bin/bash
    2   echo "Hello World"
    3   exit 0
    
  2. 关闭行号
    输入 :set nonu 即可隐藏行号。

  3. 永久显示行号(推荐)
    编辑用户配置文件 ~/.vimrc(若不存在则新建),添加一行:

    set nu
    

    保存后,每次打开 vim 都会显示行号。

四、进阶技巧:相对行号与百分比跳转

  1. 相对行号(以当前行为基准)
    输入 :set relativenumber 后,行号会显示为相对于当前行的偏移量。例如,当前行是第 20 行,上方显示 -5,下方显示 +3,此时输入 5j 会向下跳 5 行。

  2. 按文件比例跳转
    输入 :百分比% 可跳转到文件的指定比例位置。例如:

    • :50% 跳转到文件中间位置。
    • :25% 跳转到文件四分之一处。

五、错误处理与验证

  1. 检查行号是否显示
    若跳转失败,先确认是否已执行 :set nu 显示行号。

  2. 验证行号范围
    Ctrl+G 查看当前行号和文件总行数,确保输入的行号在有效范围内。例如:

    "file.txt" 3 lines --100%-- 显示当前行是第 3 行,总行数 3
    

六、可视化模式下的跳转

  1. 先跳转再选中文本
    • Esc 进入命令模式,输入 :行号 跳转到目标行。
    • V(大写)进入行可视化模式,此时可通过 j/k 键上下选中多行文本。

七、常见场景示例

  1. 编辑大文件时快速定位
    打开文件后,直接输入 100G 跳转到第 100 行修改代码。

  2. 修复编译错误
    若编译器提示第 45 行有错误,可执行:

    vim code.c +45
    

    直接定位到错误行。

  3. 批量操作前定位
    例如,需要删除第 20 到 30 行:

    • 输入 20G 跳转到第 20 行。
    • 输入 10dd 删除接下来的 10 行(即第 20-29 行)。

通过以上方法,你可以在 vi/vim 中高效定位到任意行,大幅提升编辑效率。建议优先掌握 :行号行号G 这两种核心操作,再逐步探索相对行号和百分比跳转等进阶技巧。

http://www.dtcms.com/a/309038.html

相关文章:

  • 机器学习第二课之逻辑回归(二)LogisticRegression
  • LSTM网络从浅入深原理级讲解与Pytorch逐行讲解实现
  • [python][selenium] Web UI自动化8种页面元素定位方式
  • K8S周期性备份etcd数据实战案例
  • 番茄项目3:完成了项目的数据库设计
  • npm报错:npm install 出现“npm WARN old lockfile”
  • ZED 2/2i 相机安装与调试完整指南 | Ubuntu 20.04 + CUDA 11.8
  • k8s云原生rook-ceph pvc快照与恢复(下)
  • 前端SWR策略:优化数据请求
  • STM32学习记录--Day5
  • AG-UI 协议全面解析--下一代 AI Agent 交互框架医疗应用分析(下)
  • 接口幂等性
  • 【Flutter】双路视频播放方案
  • 《R for Data Science (2e)》免费中文翻译 (第3章) --- Data transformation(1)
  • Jupyter Notebook 使用指南
  • Idea集成Jenkins Control插件,在IDEA中触发Jenkins中项目的构建
  • 【数据可视化-78】2025年上半年广东省各市GDP排名深度解析与可视化:Python + Pyecharts 深度洞察(含完整数据、代码)
  • 【Linux学习|黑马笔记|Day1】Linux初识、安装VMware Workstation、安装CentOS7、远程连接、虚拟机快照
  • Cradle:颠覆AI Agent 操作本地软件,AI驱动的通用计算机控制框架,如何让基础模型像人一样操作你的电脑?
  • 九、Maven入门学习记录
  • 嵌入式筑基之STM32启动流程
  • AG-UI 协议全面解析--下一代 AI Agent 交互框架医疗应用分析(上)
  • SQL注入SQLi-LABS 靶场less25a-28a详细通关攻略
  • LoRA低秩适配的原理
  • anaconda searchanaconda show | conda 检索包资源安装指定版本包指定源安装命令package
  • Mysql-视图,函数,存储过程,触发器
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(12):文法+单词
  • conda issue
  • C++-2025.7.31
  • LaTeX 表格制作全面指南