vi(vim)编辑器 学习笔记

vi是非图形化的编辑器

 vim是vi的加强版。

 

三种使用模式

一般模式用户可以进行光标的移动,删除字符以及复制

编辑模式下,用户可以插入或者删除字符

命令模式下,可以保存文件或者退出编辑器

 

移动操作

向下移动光标:下箭头,j,空格

向上移动光标:上箭头,k,空格

向左移动光标:左箭头,h

向右移动光标:右箭头,l

移动到下一行行首:回车键

移动到上一行行首:-

移动到文件最后一行行首:G

 

 

插入操作

右插入:a

左插入:i

行尾追加:A

行首插入:I

当前行上面插入一个新行:O

当前行下面插入一个新行:o

覆盖光标后面的若干文本:R

将当前光标所在的行与下行合并

以上除了J,都会使编辑器进入编辑模式。

Esc可以退回一般模式

 

复制和粘贴操作

复制行:yy(ayy,byy,cyy的语法可以定义多个缓冲区)

复制多行:nyy(将当前行以及下面的n行复制到缓冲区)

复制单词:yw(复制从光标当前位置到单词末尾的字符)

复制多个单词:nyw(复制从光标当前位置开始,复制后面的n个单词)

复制光标到行首:y^

复制光标到行尾:y$

粘贴到光标后:p

粘贴到光标前:P

 

 

删除操作

删除当前位置字符:x

删除多个字符:nx

删除当前行:dd

删除多个行:ndd
撤销上一个操作:u

撤销针对当前行的所有操作:U

 

如何进入命令模式

按下冒号之后vi底部出现命令提示符

命令操作

:e 打开另一个文件,文件名作为参数

:w 保存文件,如果另存为,那么新的文件名作为参数

:q 推出编辑器

:q! 不保存修改,直接推出编辑器

:wq 将文件保存后推出vi编辑器

 

 

 

vi 文件名 可以打开

:e 可以打开另一个,但是当前的会关闭。

:e! 丢弃当前修改,直接进入另一个

:n 跳到行号为n的行

:n+ 向下跳n行

:n- 向上跳n行

:set nu 显示行号

:set noun 隐藏行号

 

替换操作

:s/old/new 用字符串new替换首次出现的字符串old

:s/old/new/g 全部替换

:n,m s/old/new/g n到m行全部替换

:%s/old/new/g 整个文件里面替换

 

 

设置文件格式

:set fileformat=unix

:set fileformat=dos

 

 

文本搜索

一般模式下用反斜线 “/”

搜索到了之后n到下一个位置,N到上一个位置

 

 

 

 

 

 

 

 

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

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

相关文章

动态数组vector的使用_简单代码示例

简单代码示例 //动态数组vector的使用 #include <iostream> #include <vector> //用 <vector>头文件 using namespace std; int main() {vector<int> a; //新建一个int型数组a[] a.push_back(0); //数组末尾插入0 a.push_back(1); …

二维数组vector的代码使用简单例子_vector容器_ 用构造函数vectorint()

二维数组vector 用构造函数vector<int>() #include <iostream> #include<vector> using namespace std;int main() {vector<vector<int> > v2d;//开一个vector用来存放vector类型的容器&#xff0c;用空格区分> >和>> for(int i0;…

素筛打表(输出小于n最大素数)

今天有一个小学弟问我洛谷一个很基础的题目&#xff0c;顺便重新温习了一下素筛&#xff0c;网上别人的代码风格真的不习惯。 #include<iostream> using namespace std; const int MAX100000; bool is_prime[MAX];int main() {int n;cin>>n;for(int i2;i<n;i)i…

淮北师范18-19计算机科学与技术大类实验课试卷

1、编写一个C程序&#xff0c;输入一个正整数&#xff0c;判断其是否为素数 #include<iostream> using namespace std; const int MAX100000; bool is_prime[MAX];int main() {int n;cin>>n;for(int i2;i<n;i)is_prime[i]1;for(int i2;i*i<n;i){if(is_prime…

win10台式机一根网线连接笔记本wifi网络

我的笔记本和台式机都是win10&#xff0c;笔记本通过家里的路由器连的无线网&#xff0c;台式机没法连接无线&#xff0c;还有一条网线 笔记本打开网络适配器 右键属性 勾选共享里面的 允许其他网络用户通过此计算机的internet连接来连接 家庭网络选择笔记本和台式机之间的局…

蓝桥杯单片机stc15f2k61s2矩阵按键中断扫描代码

使用中断函数进行矩阵按键的扫描&#xff0c;在《手把手教你学51单片机》上面的代码修改了一下。感觉这个代码写的比较好。 #include<stc15f2k60s2.h>#define uchar unsigned charsbit KEY_IN_1 P4^4; sbit KEY_IN_2 P4^2; sbit KEY_IN_3 P3^5; sbit KEY_IN_4 P3^4; …

蓝桥杯单片机DS1302时钟芯片驱动代码注释

蓝桥杯单片机DS1302时钟芯片驱动代码之前的疑惑注释了下 /* DS1302 芯片包含一个 实时时钟/日历和 31 字节的静态 RAM. 与时钟/RAM 通讯只需要三根线: CE,I/O (数据线),SCLK (串行时钟).*/#include<STC15F2K60S2.H> #include<intrins.h>#define uchar unsigned ch…

蓝桥杯单片机DS18B20代码注释及部分时序图

蓝桥杯单片机蓝桥杯单片机DS18B20代码注释及部分时序图 #include<STC15F2K60S2.H> #include<intrins.h>#define uchar unsigned char #define uint unsigned int sbit DQP1^4;uchar code tab[]{0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XBF,0XFF}; u…

蓝桥杯单片机stc15f2k60s2 中断函数代码模板注释

用到哪些寄存器&#xff1f; 中断使能寄存器// EA1&#xff08;总使能开&#xff09;&#xff0c;ET01&#xff08;T0中断允许&#xff09; 定时器/计数器控制寄存器TCON// TH0和TL0设定值确定时间间隔&#…

Linux下文件的压缩和解压

文件的压缩和解压 Gzip格式的: tar -czvf 要存的名字.tar.gz 要打包的东西或目录 bzip2格式的: tar -cjvf 要存的名字.tar.bz2 要打包的东西或目录 压缩 解压 Gzip格式的:tar -xzvf 要解压的压缩文件 -C 解压到的目录 bzip2格式的:tar …

redhat下的iptables和firewalld 笔记

iptables命令怎么用&#xff1f; 网上看见的一个不错的图。 使用iptables命令配置的防火墙规则默认会在系统下一次重启时失效&#xff0c;如果想让配置的防火墙策略永久生效&#xff0c;还要执行保存命令&#xff1a; service iptables save 怎么理解firewalld&#xff1f; …

redhat挂载镜像软件包

挂载&#xff08;mounting&#xff09;是指由操作系统使一个存储设备&#xff08;诸如硬盘、CD-ROM或共享资源&#xff09;上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。 本质&#xff1a;针对某一设备, 分析出其文件系统结构, 并根据其文件系统类型调用…

chcon和semanage fcontext的坑

chcon后不能restorecon,不然就default_t:s0&#xff0c;samba_share_t没了 chcon semanage fcontext restorecon

Windows底层窗口的实现———学习笔记

基本概念 SDK 软件开发工具包&#xff08;Software Development Kit&#xff09;&#xff0c;一般都是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。 API Windows操作系统提供给应用程序编程的接口&#xff08;Appl…

数据链路层差错检验循环冗余码过程图示

计算机网络数据链路层差错检验循环冗余码过程

如何把项目改成微服务项目_【日记】148微服务项目第18天

没有人天生就强、就弱或意志坚定。是后来才变强&#xff0c;后来才意志坚定。命运不在人身上&#xff0c;而在人四周。01一句话日记2020/9/702Day148每日总结关于图片上传&#xff0c;这个太常见了朋友圈&#xff0c;微头条都涉及到图片的上传以前我们也编写过对应的demo-当前项…

切比雪夫不等式及其证明

切比雪夫不等式及其证明 本质: 随机变量XXX偏离E&#xff08;X)E&#xff08;X)E&#xff08;X)越大&#xff0c;则其概率越小。 定理 设随机变量XXX具有数学期望E(X)μE(X)\muE(X)μ,方差D(X)σ2D(X)\sigma^2D(X)σ2,则对∀ϵ≥0\forall\epsilon\ge0∀ϵ≥0,不等式 P{∣X−μ…

启动马达接线实物图_电工外出接单从事配电柜接线、调试工作的三个要领

点击上方电工电气学习&#xff0c;关注并星标专业的电工电气领域自媒体&#xff0c;不容错过欢迎转发朋友圈&#xff0c;欢迎文末留言电工朋友在时间允许在情况下外出接单&#xff0c;一来可以提高自己的收入&#xff0c;再者还可以练练手艺。同时&#xff0c;外部环境不是我们…

anaconda3 tensorflow安装踩坑记(WIN10+tensorflow带gpu版本)

我看的网课讲解的视频用的是带gpu版本的tensorflow1.4.0&#xff0c;使用pip install tensorflow-gpu1.4.0&#xff0c;但是如果想直接用之前那个命令的话要使用anaconda老一些的版本&#xff0c;最新的版本不支持&#xff0c;点击这里下载anaconda 5.2.0最新的版本的会报错&am…

萤石云设备下线是什么导致的_什么原因导致化工设备腐蚀?腐蚀防护措施有哪些?...

关键词&#xff1a;化工设备腐蚀&#xff0c;化工设备腐蚀原因&#xff0c;化工设备腐蚀防护在化工行业中腐蚀破坏到处可见&#xff0c;腐蚀事故频频发生。这除了因腐蚀本身所具有的自发性质外&#xff0c;很大程度上是因为人们对腐蚀的危害性认识不足&#xff0c;对腐蚀防护的…