【Linux vi文本编辑器使用指南】

ops/2025/3/4 3:33:47/

Linux vi文本编辑器使用指南

  • 一、模式切换
  • 二、启动与退出
  • 三、光标移动(命令模式)
  • 四、编辑文本
  • 五、查找与替换
  • 六、其他实用命令
  • 七、示例流程
  • 八、学习建议

Linux系统中的 vi(及其增强版 vim)是一款功能强大的文本编辑器,尽管其操作方式与图形化编辑器差异较大,但熟练掌握后能极大提升效率。以下是 vi的常用用法指南:


一、模式切换

  1. 命令模式(默认模式)
    启动vi后默认进入,用于执行命令(移动光标、删除、复制等)。按Esc可退出其他模式回到命令模式。

  2. 插入模式(输入文本)
    在命令模式下按以下键进入:

    • i: 光标前插入
    • a: 光标后插入
    • o: 在当前行下方插入新行
    • O: 在当前行上方插入新行
  3. 末行模式(执行高级操作)
    在命令模式下按:进入,用于保存、退出、查找替换等。


二、启动与退出

  • 启动vi

    vi 文件名      # 打开/新建文件
    
  • 退出vi(需在命令模式下)

    • :q:退出(无修改时)
    • :q!:强制退出(不保存修改)
    • :wq:x:保存并退出
    • :w 文件名:另存为

三、光标移动(命令模式)

  • 基础移动
    h(左)、j(下)、k(上)、l(右)
    或方向键(部分环境可能不支持)。

  • 快速跳转

    • 0:行首,$:行尾
    • gg:文件开头,G:文件末尾
    • Ctrl + f:向下翻页,Ctrl + b:向上翻页
    • 行号 + G:跳转到指定行(如10G

四、编辑文本

  • 删除

    • x:删除当前字符
    • dd:删除整行(3dd删除3行)
    • dw:删除一个单词
  • 复制与粘贴

    • yy:复制当前行(3yy复制3行)
    • p:粘贴到光标后,P:粘贴到光标前
  • 撤销与重做

    • u:撤销操作
    • Ctrl + r:重做

五、查找与替换

  • 查找(命令模式下)

    • /关键词:向下查找(按n跳下一个,N上一个)
    • ?关键词:向上查找
  • 替换(末行模式)

    • :%s/旧内容/新内容/g:全局替换
    • :1,10s/旧内容/新内容/g:替换1-10行

六、其他实用命令

  • 显示行号
    :set number:set nonumber取消)

  • 分屏操作

    • :split:水平分屏,:vsplit:垂直分屏
    • Ctrl + ww:切换窗口
  • 执行Shell命令
    :!命令(如:!ls查看目录)


七、示例流程

  1. 打开文件:vi test.txt
  2. i进入插入模式,输入文本。
  3. Esc返回命令模式,输入:w保存。
  4. 查找"error":输入/error,按n查找下一个。
  5. 替换所有"old"为"new":输入:%s/old/new/g
  6. 保存退出::wq

八、学习建议

  • 练习模式切换:熟练在命令模式与插入模式间切换。
  • 掌握高频命令:如ddyypu等。
  • 使用vimtutor:终端输入vimtutor获取官方交互教程。

掌握vi需要实践,初期可能稍显笨拙,但熟练后将成为高效编辑的利器!


http://www.ppmy.cn/ops/162942.html

相关文章

【Transformer模型学习】第三篇:位置编码

文章目录 0. 前言1. 为什么需要位置编码?2. 如何进行位置编码?3. 正弦和余弦位置编码4. 举个例子4.1 参数设置4.2 计算分母项4.3 计算位置编码4.4 位置编码矩阵 5. 相对位置信息6. 改进的位置编码方式——RoPE6.1 RoPE的核心思想6.2 RoPE的优势 7. 总结 …

Nginx系列05(负载均衡、动静分离)

目录 Nginx 负载均衡 Nginx 动静分离 Nginx 负载均衡 概念:负载均衡是一种将网络流量分摊到多个后端服务器(节点)上的技术,以提高系统的可用性、性能和可扩展性。通过负载均衡,Nginx 可以根据一定的算法将客户端请求…

基于SpringBoot+Vue的医院挂号管理系统+LW示例参考

系列文章目录 1.基于SSM的洗衣房管理系统原生微信小程序LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统LW参考示例 3.基于SpringBootVue的企业人事管理系统LW参考示例 4.基于SSM的高校实验室管理系统LW参考示例 5.基于SpringBoot的二手数码回收系统原生微信小程序LW参考示…

React 高阶组件(HOC)

1.React 高阶组件(HOC) ****1. HOC(高阶组件)HOC (Higher - Order Component) 定义: 高阶组件是一个接收组件作为参数并返回新组件的函数,用于复用组件逻辑,遵循纯函数特性(无副作用…

Composer如何通过GitHub Personal Access Token安装私有包:完整教程

使用Composer安全管理您的PHP私有依赖包 一、前言 在PHP开发中,我们经常需要将内部工具包托管为私有仓库。传统的账号密码验证方式存在安全隐患,而GitHub Personal Access Token(PAT)提供了一种更安全的鉴权方案。本文将通过4个…

【欢迎来到Git世界】Github入门

241227 241227 241227 Hello World 参考:Hello World - GitHub 文档. 1.创建存储库 r e p o s i t o r y repository repository(含README.md) 仓库名需与用户名一致。 选择公共。 选择使用Readme初始化此仓库。 2.何时用分支&#xf…

Saleae逻辑分析仪的安装与使用

Saleae逻辑分析仪的安装与使用 软件下载与安装 官网地址: www.saleae.com 在我的电脑上打不开这个网站, 显示无法访问此页面. 但用户也可以打开这个网站 Download | Saleae Support 然而点击下载按钮, 将会跳转到之前打不开的网站 解决电脑打不开Saleae官网 尝试方法 手机…

存贮论模型案例与Matlab实现

摘要:本文结合存贮论确定性模型,详细解析经济订购批量(EOQ)、允许缺货生产批量等核心模型,并通过商品库存管理、生产计划等实际案例,配合Matlab代码实现,展示模型求解过程。涵盖公式推导、参数优…