Linux vi如何高效使用?

vi(或 Vim,Vi IMproved)是 Linux 系统内置的经典文本编辑器,以高效、轻量著称,掌握 vi 是 Linux 用户必备技能,以下为详细操作指南,涵盖基础到进阶技巧。


vi 的核心概念

vi 有两种核心模式,通过按键切换:

  1. 命令模式(默认):执行保存、退出、搜索等操作(启动后自动进入)。
  2. 插入模式:编辑文本内容(需从命令模式切换进入)。

基础操作流程

启动与退出

  • 启动文件
    vi filename.txt  # 新建或打开文件
  • 保存与退出(命令模式下)
    :w              # 保存
    :q              # 退出(未修改时)
    :wq             # 保存并退出
    :q!             # 强制退出(不保存修改)

模式切换

  • 命令模式 → 插入模式:
    i     # 光标前插入
    a     # 光标后插入
    o     # 下一行插入新行
  • 插入模式 → 命令模式:
    Esc 键(键盘左上角)。

高效编辑命令(命令模式下)

光标移动

h/j/k/l    # 左/下/上/右(替代方向键)
0          # 行首
$          # 行尾
gg         # 文件首行
G          # 文件末行
50G        # 跳转至第50行

文本编辑

x          # 删除光标处字符
dd         # 删除整行
5dd        # 删除5行
yy         # 复制当前行
p          # 粘贴到下一行
u          # 撤销操作
Ctrl+r     # 重做

搜索与替换

/word      # 向下搜索 "word"
?word      # 向上搜索
n          # 跳至下一个匹配项
:%s/old/new/g  # 全局替换 "old" 为 "new"

进阶技巧

  1. 分屏操作

    :sp filename   # 水平分屏
    :vsp filename  # 垂直分屏
    Ctrl+w + ↑↓←→  # 切换分屏
  2. 显示行号

    :set number    # 显示行号
    :set nonumber  # 隐藏行号
  3. 批量注释

    • Ctrl+v 进入块选择 → 选中多行 → 按 I 输入 → 按 Esc(适用于 Shell/Python 等)。

常见问题解决

  • 误入其他模式
    连续按 Esc 返回命令模式。
  • 文件权限不足
    :w !sudo tee % 保存需 root 权限的文件。
  • 恢复崩溃文件
    重启后输入 vi -r filename 恢复未保存内容。

学习建议

  1. 练习路径
    • 先掌握 iEsc:wq 等基础操作。
    • 逐步熟悉移动、删除、复制命令。
    • 尝试分屏和搜索替换。
  2. 交互教程
    终端输入 vimtutor 启动官方教程(约 30 分钟)。

引用说明

  • 参考 Vim 官方文档(vimdoc.sourceforge.net)。
  • 命令兼容 Vi 和 Vim(Vim 是 Vi 的增强版,现代 Linux 系统通常预装 Vim)。
  • 实践环境:Ubuntu 22.04 / CentOS 7 测试通过。

掌握 vi 需持续练习,初期可能不适应,但熟练后编辑效率远超图形工具,建议从日常编辑任务开始实践,逐步提升速度。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7184.html

(0)
酷番叔酷番叔
上一篇 2025年7月13日 06:52
下一篇 2025年7月13日 07:08

相关推荐

  • asyny.js是什么?它如何简化异步编程?

    异步编程是JavaScript开发中的核心挑战之一,从早期的回调函数到后来的Promise、async/await,开发者一直在寻找更优雅的异步代码组织方式,在众多工具库中,async.js(通常简称为async)凭借其强大的流程控制能力,成为处理复杂异步逻辑的首选工具,它不仅简化了回调地狱的嵌套,还提供了丰富……

    2025年11月16日
    8000
  • ASP如何调用手机相机?实现方法有哪些?

    在移动应用开发中,调用手机相机实现拍照或录像功能是常见需求,尤其在需要实时采集图像的场景(如身份验证、表单填写、商品录入等),对于基于ASP(Active Server Pages)技术的传统Web应用,虽然其本身运行在服务器端,无法直接操作客户端硬件,但可通过结合前端HTML5技术与后端ASP逻辑,实现调用手……

    2025年11月14日
    11300
  • asp编程论坛如何高效解决编程问题?

    在互联网技术发展的浪潮中,ASP(Active Server Pages)作为一种经典的动态网页开发技术,至今仍被广泛应用于企业级应用和中小型项目中,对于ASP开发者而言,一个专业的编程论坛不仅是获取技术支持的平台,更是交流经验、共享资源的重要社区,本文将围绕ASP编程论坛的核心价值、功能特点及使用技巧展开探讨……

    2025年12月31日
    8000
  • Python命令行有哪些必知技巧?

    Python命令行(又称REPL,Read-Eval-Print Loop)是Python自带的交互式解释器环境,允许开发者直接输入代码并立即查看结果,以下是详细使用指南:启动与退出启动方法:Windows:打开命令提示符 → 输入 python 或 python3macOS/Linux:打开终端 → 输入 p……

    2025年6月13日
    17600
  • ASP跨天时间如何计算与处理?

    在ASP开发中,跨天时间的处理是一个常见且重要的需求,尤其在涉及日程安排、订单管理、日志记录等场景时,由于ASP(无论是经典的ASP.NET还是早期的ASP)在处理日期时间时存在一些特性,开发者需要掌握正确的方法来确保跨天计算的准确性和高效性,跨天时间的核心挑战跨天时间的处理主要涉及两个核心问题:一是日期边界的……

    2025年11月28日
    10100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信