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

相关推荐

  • asp首页代码如何快速搭建与优化?

    在构建ASP(Active Server Pages)网站时,首页代码是整个项目的核心入口,它不仅决定了网站的整体布局和功能展示,还直接影响用户体验和搜索引擎优化效果,一个设计良好的ASP首页代码应当结构清晰、逻辑严谨,同时兼顾性能与安全性,以下将从代码结构、关键功能实现、优化建议等方面展开详细说明,ASP首页……

    2025年11月24日
    1600
  • Windows 7如何设置定时关机?

    在Windows 7中,使用shutdown -s -t 秒数命令设置定时关机(如3600秒代表1小时后关机),通过运行窗口(Win+R)或命令提示符输入执行即可。

    2025年6月16日
    8300
  • ASP如何实现页面宽度自适应?

    在Web开发中,ASP(Active Server Pages)作为一种经典的服务器端脚本环境,常用于构建动态网页,随着移动设备的普及和屏幕尺寸的多样化,确保ASP页面能够自适应不同宽度已成为提升用户体验的关键,页面宽度适应不仅涉及前端布局技术,还需结合ASP后端数据处理逻辑,实现从服务器到客户端的全面适配,本……

    2025年10月19日
    2800
  • AssociateEipAddress是什么操作?

    在云计算环境中,弹性公网IP(Elastic IP Address,简称EIP)是一种动态分配的公网IP地址资源,能够为云服务器、负载均衡、NAT网关等资源提供灵活的公网访问能力,而“AssociateEipAddress”作为云服务商提供的核心API操作之一,主要用于将EIP与目标资源实例进行绑定,实现公网通……

    2025年11月1日
    2500
  • ASP远程数据库连接方法有哪些?

    在Web开发领域,ASP(Active Server Pages)作为一种经典的服务器端脚本技术,常用于构建动态网页,而远程数据库的连接与应用,则是ASP实现数据交互的核心环节,所谓ASP远程数据库,指的是ASP应用程序通过互联网或局域网连接部署在远程服务器上的数据库,实现数据的增删改查操作,这种架构模式广泛应……

    2025年10月26日
    2700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信