关于vi和vim的区别及命令详解

发布时间 - 2026-01-10 22:38:33    点击率:

vi有3个模式:插入模式、命令模式、低行模式。

插入模式:在此模式下可以输入字符,按ESC将回到命令模式。

命令模式:可以移动光标、删除字符等。

低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。

一、打开文件、保存、关闭文件(vi命令模式下使用)

vi filename       //打开filename文件
:w       //保存文件
:w vpser.net //保存至vpser.net文件
:q          //退出编辑器,如果文件已修改请使用下面的命令
:q!        //退出编辑器,且不保存
:wq         //退出编辑器,且保存文件

二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)

a      //在当前光标位置的右边添加文本
i       //在当前光标位置的左边添加文本
A     //在当前行的末尾位置添加文本
I      //在当前行的开始处添加文本(非空字符的行首)
O     //在当前行的上面新建一行
o     //在当前行的下面新建一行
R    //替换(覆盖)当前光标位置及后面的若干文本
J    //合并光标所在行及下一行为一行(依然在命令模式)

三、移动光标(vi命令模式下使用)

1、使用上下左右方向键

2、命令模式下:h   向左、j   向下 、k   向上、l  向右。

空格键 向右、Backspace  向左、Enter  移动到下一行首、-  移动到上一行首。

四、删除、恢复字符或行(vi命令模式下使用)

x         //删除当前字符
nx         //删除从光标开始的n个字符
dd      //删除当前行
ndd   //向下删除当前行在内的n行
u       //撤销上一步操作
U      //撤销对当前行的所有操作

五、搜索(vi命令模式下使用)

/vpser     //向光标下搜索vpser字符串
?vpser     //向光标上搜索vpser字符串
n           //向下搜索前一个搜素动作
N         //向上搜索前一个搜索动作

六、跳至指定行(vi命令模式下使用)

n+        //向下跳n行
n-         //向上跳n行
nG        //跳到行号为n的行
G           //跳至文件的底部

七、设置行号(vi命令模式下使用)

:set  nu     //显示行号
:set nonu    //取消显示行号

八、复制、粘贴(vi命令模式下使用)

yy    //将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。

nyy   //将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。

yw    //复制从光标开始到词尾的字符。

nyw   //复制从光标开始的n个单词。

y^      //复制从光标到行首的内容。  VPS侦探

y$      //复制从光标到行尾的内容。

p        //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。

P        //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。

九、替换(vi命令模式下使用)

:s/old/new      //用new替换行中首次出现的old
:s/old/new/g         //用new替换行中所有的old
:n,m s/old/new/g     //用new替换从n到m行里所有的old
:%s/old/new/g      //用new替换当前文件里所有的old

十、编辑其他文件

:e otherfilename    //编辑文件名为otherfilename的文件。

十一、修改文件格式

:set fileformat=unix   //将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。

以上这篇关于vi和vim的区别及命令详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# vi  # vim  # 命令区别  # Vim的分屏功能命令大全  # vim编辑器常用命令总结  # Vim命令高级用法  # Vim编辑器常用的命令总结  # Vim命令合集  # vim命令大全  # Vim中宏命令的使用实例详解  # vim命令汇总  # 行号  # 模式下  # 编辑器  # 多个  # 可以用  # 给大家  # 自定义  # 保存文件  # 标上  # 使用了  # 剪切板  # 首次  # 在此  # 希望能  # 请使用  # 下一  # 上下左右  # 后将  # 这篇  # 等功能 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  如何快速搭建二级域名独立网站?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  MySQL查询结果复制到新表的方法(更新、插入)  Linux网络带宽限制_tc配置实践解析【教程】  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  iOS UIView常见属性方法小结  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  如何确认建站备案号应放置的具体位置?  Laravel如何实现本地化和多语言支持?(i18n教程)  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  高端企业智能建站程序:SEO优化与响应式模板定制开发  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  Laravel模型事件有哪些_Laravel Model Event生命周期详解  JavaScript常见的五种数组去重的方式  Laravel API资源类怎么用_Laravel API Resource数据转换  大连 网站制作,大连天途有线官网?  如何彻底卸载建站之星软件?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  JavaScript如何实现错误处理_try...catch如何捕获异常?  微信小程序 input输入框控件详解及实例(多种示例)  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  如何快速生成凡客建站的专业级图册?  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  SQL查询语句优化的实用方法总结  Laravel如何处理和验证JSON类型的数据库字段  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  Laravel怎么连接多个数据库_Laravel多数据库连接配置  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  javascript中闭包概念与用法深入理解  郑州企业网站制作公司,郑州招聘网站有哪些?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  如何批量查询域名的建站时间记录?  jquery插件bootstrapValidator表单验证详解  Laravel集合Collection怎么用_Laravel集合常用函数详解  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  如何快速选择适合个人网站的云服务器配置?  如何打造高效商业网站?建站目的决定转化率  Laravel如何发送系统通知?(Notification渠道示例)  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  如何在 React 中条件性地遍历数组并渲染元素