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中VBS事件应用示例代码如何实现?

    在ASP(Active Server Pages)环境中,VBS(VBScript)事件处理是一种常见的服务器端编程技术,主要用于动态网页开发和交互逻辑的实现,通过VBS事件,开发者可以响应用户操作、系统状态变化或特定触发条件,从而实现更灵活的功能,以下将结合具体示例代码,详细介绍ASP环境下VBS事件的应用场……

    2026年1月4日
    2800
  • ASP自定义分段函数如何求第N名成绩?

    在数据处理和分析中,经常需要从一组成绩数据中提取特定排名的成绩,例如求第N名最高分或最低分,在ASP(Active Server Pages)环境中,由于没有内置的直接函数来实现这一功能,我们需要自定义一个分段函数来满足需求,本文将详细介绍如何实现一个ASP自定义分段函数,用于求第N名成绩,包括函数设计、实现步……

    2025年12月29日
    3500
  • ASP如何准确获取硬盘ID?

    在ASP(Active Server Pages)开发中,获取硬盘ID是一项常见的需求,通常用于硬件标识、软件授权或设备绑定等场景,硬盘ID通常指硬盘的序列号(Serial Number),它是硬盘制造商在生产时分配的唯一标识符,本文将详细介绍如何通过ASP代码获取硬盘ID,包括实现原理、代码示例及注意事项,并……

    2025年11月26日
    4900
  • 如何快速掌握Linux命令行高效技巧?

    为什么需要命令行编辑器?无图形界面环境:服务器或远程SSH连接时,命令行编辑器是唯一选择,高效操作:熟练后比图形工具更快,支持批量处理和自动化,轻量级:资源占用低,适合低配设备,常用命令行编辑器及操作指南Nano(新手首选)特点:界面友好,快捷键底部可见,打开/创建文件:nano 文件名 # nano myfi……

    2025年7月4日
    10700
  • Mac终端高效技巧?专家指南揭秘

    基础操作打开终端方法1:应用程序 > 实用工具 > 终端方法2:Spotlight搜索(Cmd+空格 → 输入“终端”)核心命令命令作用示例pwd显示当前目录pwd → /Users/你的用户名ls列出文件ls -l(详细列表)cd切换目录cd Documents → 进入文档目录mkdir创建文件……

    2025年7月5日
    10500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信