vi/vim 三种模式及命令 (简单粗暴,轻松搞懂)

//+++++++++++++++++++++一般模式(默认模式)++++++++++++++++++++++++++++++


一般模式: 移动光标 


h 或 向左方向键 光标向左移动一个字符

 

j 或 向下方向键 光标向下移动一个字符 


k 或 向上方向键 光标向上移动一个字符


l 或 向右方向键 光标向右移动一个字符 


[Ctrl] + [f] 屏幕『向前』移动一页(常用) 


[Ctrl] + [b] 屏幕『向后』移动一页(常用) 


[Ctrl] + [d] 屏幕『向前』移动半页 


[Ctrl] + [u] 屏幕『向后』移动半页 


+ 光标移动到非空格符的下一列 


- 光标移动到非空格符的上一列


n<space> 按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20<space> 则光标会向后面移动 20 个字符距离。 


0 这是数字『 0 』:移动到这一行的最前面字符处(常用) 


$ 移动到这一行的最后面字符处(常用) 


H 光标移动到这个屏幕的最上方那一行 


M 光标移动到这个屏幕的中央那一行 


L 光标移动到这个屏幕的最下方那一行 


G 移动到这个档案的最后一行(常用) 


nG 移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的 20 行(可配合 :set nu) 


n<Enter> 光标向下移动 n 行(常用)


 

一般模式: 搜寻与取代 


/word 向光标之后寻找一个字符串名称为 word 的字符串。(常用) 


?word 向光标之前寻找一个字符串名称为 word 的字符串。 


:n1,n2s/word1/word2/g 在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !(常用) 


:1,$s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用) 


:1,$s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给使用者确认(conform)是否需要取代!(常用) 




一般模式: 删除、复制与粘贴 


x, X x 为向后删除一个字符, X 为向前删除一个字符(常用) 


nx 向后删除 n 个字符 


dd 删除游标所在的那一整列(常用) 


ndd 删除光标所在的向下 n 列,例如 20dd 则是删除 20 列(常用) 


d1G 删除游标所在到第一行的所有数据 


dG 删除游标所在到最后一行的所有数据 


yy 复制游标所在的那一行(常用) 


nyy 复制光标所在的向下 n 列,例如 20yy 则是复制 20 列(常用) 


y1G 复制游标所在列到第一列的所有数据 


yG 复制游标所在列到最后一列的所有数据 


p, P p 为复制的数据在光标下一行贴上,P 则为贴在游标上一行!(常用) 


J 将光标所在列与下一列的数据结合成同一列 


c 重复删除多个数据,例如向下删除 10 行,[ 10cj ] 


u 复原前一个动作。(常用) 



//+++++++++++++++++++++++进入编辑模式  ++++++++++++++++++++++++++++++++++++++ 



i, I 插入:在目前的光标所在处插入输入之文字,已存在的文字会向后退;(常用) 


a, A 增加:由目前光标所在的下一个字开始输入,已存在的文字会向后退:(常用) 


o, O 插入新的一行:从光标所在的下一行枝行首开始输入文字;(常用) 


r, R 取代:r 会取代光标所在的那一个字符;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用) 


Esc 退出编辑模式,回到一般模式中(常用) 



//+++++++++++++++++++++  尾行模式 (命令模式)+++++++++++++++++++++++++++++++  



:w 将编辑的数据写入硬盘档案中(常用) 


:w! 若档案属性为『只读』时,强制写入该档案 


:q 离开 vi (常用)


:q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案 


:wq 储存后离开,若为 :wq! 则为强制储存后离开(常用) 


:e! 将档案还原到最原始的状态! 


ZZ 若档案没有更动,则不储存离开,若档案已经经过更动,则储存后离开! 


:w [filename] 将编辑的数据储存成另一个档案(类似另存新档) 


:r [filename] 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』这个档案内容加到游标所在行后面 


:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号 


:set nonu 与 set nu 相反,为取消行号! 


n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案。 


:! command 暂时离开 vi 到指令列模式下执行 command 的显示结果!例如[ :! ls /home ] 



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kong入门学习实践(1)基础概念快览

【API网关】| 总结/Edison Zhou最近在学习Kong网关&#xff0c;因此根据老习惯&#xff0c;我会将我的学习过程记录下来&#xff0c;一来体系化整理&#xff0c;二来作为笔记供将来翻看。由于我司会直接使用Kong企业版&#xff0c;学习过程中我会使用Kong开源版。什么是Kong&am…

条件锁

ReentrantLock类有一个方法newCondition用来生成这个锁对象的一个条件&#xff08;ConditionObject&#xff09;对象&#xff0c;它实现了Condition接口。Condition提供了线程通讯的一套机制await和signal等线程间进行通讯的方法。。1、适用场景当某线程获取了锁对象&#xff0…

计算机应用技术 平面设计,全国信息化计算机应用技术水平教育考试试卷 平面设计师...

科目编号&#xff1a;4233全国信息化计算机应用技术水平教育考试试卷(考试时间&#xff1a;180分钟 考试总分&#xff1a;100分 专业认证课程&#xff1a;Photoshop 平面设计)注意事项1、 请首先按要求在试卷的标封处填写您的姓名、考号等&#xff1b;2、 请仔细阅读各种题目的…

RabbitMQ之消息模式简单易懂,超详细分享

前言上一篇对RabbitMQ的流程和相关的理论进行初步的概述&#xff0c;如果小伙伴之前对消息队列不是很了解&#xff0c;那么在看理论时会有些困惑&#xff0c;这里以消息模式为切入点&#xff0c;结合理论细节和代码实践的方式一起来学习。正文常用的模式有Simple、Work、Fanout…

每天一个linux命令(6):rmdir 命令

今天学习一下linux中命令&#xff1a; rmdir命令。rmdir是常用的命令&#xff0c;该命令的功能是删除空目录&#xff0c;一个目录被删除之前必须是空的。&#xff08;注意&#xff0c;rm - r dir命令可代替rmdir&#xff0c;但是有很大危险性。&#xff09;删除某目录时也必须具…

jvm系列(八):jvm知识点总览

在江湖中要练就绝世武功必须内外兼备&#xff0c;精妙的招式和深厚的内功&#xff0c;武功的基础是内功。对于武功低&#xff08;就像江南七怪&#xff09;的人&#xff0c;招式更重要&#xff0c;因为他们不能靠内功直接去伤人&#xff0c;只能靠招式&#xff0c;利刃上优势来…

计算机基础知识的文献,四 计算机文献检索基础知识(原理、结构和功能)

1.计算机检索原理计算机一方面接受用户的检索提问&#xff0c;一方面从数据库中读取文献记录&#xff0c;然后把两者进行比较&#xff0c;即检索提问标识与文献记录标识进行匹配运算&#xff0c;如果比较的结果一致&#xff0c;那么这篇文献就会作为命中文献在检索结果中显示&a…

APP地推心得:可复制的APP地推方案

APP地推难&#xff1f;APP地推方案包含哪些&#xff1f;现在&#xff0c;不需要编程就能自己完成手机APP制作&#xff0c;而且还有大量的APP模板&#xff0c;可以直接套用。APP的制作资金技术大幅度降低&#xff0c;现在最大的问题就是怎么APP推广的问题。 在移动互联网的时代&…

【代码笔记】iOS-播放从网络上下载的语音

代码&#xff1a; ViewController.m #import "ViewController.h" //录音 #import <AVFoundation/AVFoundation.h>interface ViewController () {//播放器AVAudioPlayer *player; }endimplementation ViewController- (void)viewDidLoad {[super viewDidLoad];/…

C# 基于.NET6的CM+Fody+HC入门实战项目(经典)

概述上期我们概述了CMFodyHC&#xff0c;如果之前没有阅读&#xff0c;可以先了解下&#xff1a;C# 为什么说CMFodyHC是WPF开发的最强组合&#xff1f;今天基于最新的VS版本、最新的CM框架版本&#xff0c;.NET基于6.0&#xff0c;搭建了一个WPF入门学习项目实例&#xff0c;关…

PHP资源列表(转)

一个PHP资源列表&#xff0c;内容包括&#xff1a;库、框架、模板、安全、代码分析、日志、第三方库、配置工具、Web 工具、书籍、电子书、经典博文等等。 初始翻译信息来自&#xff1a;《推荐&#xff01;国外程序员整理的 PHP 资源大全》 该内容也可以在github的相关项目上浏…

当今 计算机已进入千家万户英语,学生英语教学论文,关于信息技术在大学英语教学中的应用探析相关参考文献资料-免费论文范文...

导读:这是一篇与学生英语教学论文范文相关的免费优秀学术论文范文资料,为你的论文写作提供参考。摘 要&#xff1a;随着经济全球化和信息化时代的到来,计算机技术已深入到社会的各个领域.以往大学中所使用的传统面授课教学模式已经跟不上信息时代的发展步伐,不能满足当今教学的…

POJ - 2187 Beauty Contest(最远点对)

http://poj.org/problem?id2187 题意 给n个坐标&#xff0c;求最远点对的距离平方值。 分析 模板题&#xff0c;旋转卡壳求求两点间距离平方的最大值。 #include<iostream> #include<cmath> #include<cstring> #include<queue> #include<vector>…

Kong入门学习实践(2)实验环境搭建

【API网关】| 总结/Edison Zhou最近在学习Kong网关&#xff0c;因此根据老习惯&#xff0c;我会将我的学习过程记录下来&#xff0c;一来体系化整理&#xff0c;二来作为笔记供将来翻看。由于我司会直接使用Kong企业版&#xff0c;学习过程中我会使用Kong开源版。本篇&#xff…

Mysql-索引的基础和类型

一、 索引的基础 索引类似于书籍的目录&#xff0c;要想找到一本书的某个特定主题&#xff0c;需要先查找书的目录&#xff0c;定位对应的页码。 存储引擎使用类似的方式进行数据查询&#xff0c;先去索引当中找到对应的值&#xff0c;然后根据匹配的索引找到对应的数据行 二…

ligerUI的列头合并代码片段

//列头合并 function onAfterShowData(data){//显示数据前触发此事件 console.log(123); var k 0; var tr $(.l-grid-body.l-grid-body1).find(table tr);//找到被冻结的列&#xff08;frozen&#xff09;,利用find方法找到所有的行 $.each($(tr)…

我的未来计算机作文,我的未来作文(精选4篇)

我的未来作文(精选4篇)在平平淡淡的日常中&#xff0c;大家总免不了要接触或使用作文吧&#xff0c;作文根据体裁的不同可以分为记叙文、说明文、应用文、议论文。怎么写作文才能避免踩雷呢&#xff1f;以下是小编收集整理的我的未来作文&#xff0c;仅供参考&#xff0c;大家一…

RDS for MySQL Mysqldump常见问题及处理

2019独角兽企业重金招聘Python工程师标准>>> 摘要&#xff1a; RDS for MySQL Mysqldump 常见问题和处理 GTID 特性相关 避免表级锁等待 设置导出字符集 其他导出时需要注意的选项 举例 RDS for MySQL 不支持的选项 RDS for MySQL 逻辑备份 1. GTID 特性相关 MySQ…

AI求解PDE

一、波动方程的PINN解法: Guo Y, Cao X, Liu B, et al. Solving partial differential equations using deep learning and physical constraints[J]. Applied Sciences, 2020, 10(17): 5917. 二、二维的Navier–Stokes方程组的PINN解法 矢量形式的不可压缩Navier-Stokes方程…

使用CADisplayLink实现UILabel动画特效

在开发时&#xff0c;我们有时候会遇到需要定时对UIView进行重绘的需求&#xff0c;进而让view产生不同的动画效果。 本文项目 效果图 初探 CADisplayLink 定时对View进行定时重绘可能会第一时间想到使用NSTimer&#xff0c;但是这样的动画实现起来是不流畅的&#xff0c;因为在…