vi/vim命令

概述

vi: Visual Interface

vim: VI iMproved

 

vim模式

有三种:

编辑模式(命令模式)


如:通过命令新增一行,删除一行,复制一行,光标移动等


输入模式


输入模式在屏幕末尾一定有这个“-- INSERT --”


末行模式


ESC,从输入模式退出进入到编辑模式。输入冒号,进入末行模式。


模式转换

编辑-->输入:

i: 在当前光标所在字符的前面,转为输入模式;

a: 在当前光标所在字符的后面,转为输入模式;

o: 在当前光标所在行的下方,新建一行,并转为输入模式;

I:在当前光标所在行的行首,转换为输入模式

A:在当前光标所在行的行尾,转换为输入模式

O:在当前光标所在行的上方,新建一行,并转为输入模式;

 

输入-->编辑:

ESC

编辑-->末行:

 

末行-->编辑:

ESC, ESC

 

要养成的习惯:

输入完一行就退回到编辑模式,不要在输入模式里移动光标。

输入模式和编辑模式是经常切换的。


一、打开文件

# vim /path/to/somefile

vim +# :打开文件,并定位于第#profile5行:vi/vim +5 profile

vim +:打开文件,定位至最后一行

vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首

例:打开进入profile文件里第一次出现“HOME”的行。

[root@hello110 /]# vi +/HOME profile


使用 N next)命令,查找下一个带有HOME的行。

默认处于编辑模式



二、关闭文件

1、末行模式关闭文件

:q  退出

:wq 保存并退出

:q! 不保存并退出

:w 保存

:w! 强行保存

2、编辑模式下退出

ZZ: 保存并退出


三、移动光标(编辑模式)

1、逐字符移动:

h:

l(L):

j:

k:

 #h: 移动#个字符;

 

2、以单词为单位移动

w: 移至下一个单词的词首

e: 跳至当前或下一个单词的词尾

b: 跳至当前或前一个单词的词首

3、行内跳转:

0: 绝对行首

^: 行首的第一个非空白字符

$: 绝对行尾


四、翻屏

Ctrl+f: 向下翻一屏

Ctrl+b: 向上翻一屏

 

Ctrl+d: 向下翻半屏

Ctrl+u: 向上翻半屏

 

五、删除单个字符

x: 删除光标所在处的单个字符

#x: 删除光标所在处及向后的共#个字符

 

六、删除命令: d

d命令跟跳转命令组合使用;

#dw  删除光标下一个单词,

#de 删除光标到行结尾的,

#db 删除光标上一个单词

dd: 删除当前光标所在行

#dd: 删除包括当前光标所在行在内的#行;


例子:

末行模式下:

.: 表示当前行

$: 最后一行

+#: 向下的#


命令功能:

.   当前光标所在行

 是分隔符

删除当前光标后3行。



七、粘贴命令 p

p: 如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面;

P: 如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面;

大写和小写的p复制位置有区别


八、复制命令 y

用法同d命令如:复制一行 yy


复制:光标所在位置开始到,文档末尾倒数3行为止的内容。


九、修改:

先删除内容,再转换为输入模式

c: 用法同d命令

 

十、替换:r

R: 替换模式

r+要修改的内容。例子:rw:将光标所在的位置的值改成w


十一、撤消编辑操作 u

u:撤消前一次的编辑操作

连续u命令可撤消此前的n次编辑操作

#u: 直接撤消最近#次编辑操作

 

撤消最近一次撤消操作:Ctrl+r


十二、查找

/PATTERN

?PATTERN

n

N

区别:

/ 时,按n键,往下查

? 时,按n键,往上查


十三、将当前文件中部分内容另存为另外一个文件

末行模式下使用w命令

:w

:ADDR1,ADDR2w /path/to/somewhere

举例:

:1,5 w ~/163.txt
    把第一行到第五行复制到 ~/163.txt


:12,17 w>> ~/163.txt
    把12到17行追加到 163.txt

:w filename
打开一个文件并修改后,保存成为另一个文件,原文件内容不变


十四、将另外一个文件的内容填充在当前文件中

:r /path/to/somefile


十五、跟shell交互

:! COMMAND

在末行模式下,用感叹号+linux命令




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

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

相关文章

主mysql删除从服务不同步_MySQL主从不同步解决

由于binlog日志带多删除了几个后发现MySQL主从不同步1、由于binlog日志带多删除了几个后发现MySQL主从不同步mysql> show slave status\G;Slave_IO_Running: NoSlave_SQL_Running: Yes查看报错日志为[ERROR] Slave I/O: Got fatal error 1236 from master when reading data…

机器学习(一)梯度下降算法的实现及过程分析

机器学习(一)梯度下降算法 因为算法最好能应用到实际问题中才会让读者感到它的真实的用处,因此首先我来描述一个实际问题(梯度下降算法用以帮助解决该问题):给定一个指定的数据集,比如由若干某一…

quick time不可用_那些校园中“不可言说”的鄙视链

原标题:那些校园中“不可言说”的鄙视链俗话说,有人的地方就有江湖,有江湖的地方总有人喜欢论论剑,分个高低,更何况是聚集了五湖四海人群的大学呢!今天小U总结出了一篇高校鄙视链大全,快来看看符…

select怎么设置默认值_20200817:详细说下数据倾斜怎么解决?

福哥答案2020-08-17:数据倾斜是大数据领域绕不开的拦路虎,当你所需处理的数据量到达了上亿甚至是千亿条的时候,数据倾斜将是横在你面前一道巨大的坎。很可能有几周甚至几月都要头疼于数据倾斜导致的各类诡异的问题。数据倾斜是指:…

数据库查询某一列大写转化小写字母表示_基于MySQL数据库下亿级数据的分库分表...

移动互联网时代,海量的用户数据每天都在产生,基于用户使用数据的用户行为分析等这样的分析,都需要依靠数据都统计和分析,当数据量小时,数据库方面的优化显得不太重要,一旦数据量越来越大,系统响…

vs 启动调用的目标发生异常_协程中的取消和异常 | 取消操作详解

在日常的开发中,我们都知道应该避免不必要的任务处理来节省设备的内存空间和电量的使用——这一原则在协程中同样适用。您需要控制好协程的生命周期,在不需要使用的时候将它取消,这也是结构化并发所倡导的,继续阅读本文来了解有关…

pytorch 图像分割的交并比_Segmentation101系列-最简单的卷积网络语义分割(1)-PASCAL VOC图像分割...

作者:陈洪瀚 /洪瀚笔记知乎专栏摘要:介绍了使用PyTorch和torchvision加载训练好的全卷积网络FCN或DeepLab模型,并对PASCAL VOC图像进行分割并显示结果。网址:github代码链接, 码云代码链接陈洪瀚​www.zhihu.com一. 准备实验数据下…

系统目录结构 ls命令 文件类型 alias命令

2019独角兽企业重金招聘Python工程师标准>>> 2.1/2.2 系统目录结构 /bin:bin是Binary的缩写,该目录下存放的是最常用的命令。 /boot:该目录下存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 …

运维老鸟教你安装centos6.5如何选择安装包

原文:http://oldboy.blog.51cto.com/2561410/1564620 ------------------------------------------------------------------------------ 近来发现越来越多的运维小伙伴们都有最小化安装系统的洁癖,因此,找老男孩来咨询,这个“洁癖”好习惯…

服务器centos怎么部署_我什么都不会,怎么拥有自己的个人博客呢

博客每个人都想拥有一个属于自己的博客,可以分享自己的心得、技术等,可以很好地展示自己的作品,但是自己又什么都不会怎么才能拥有自己的个人博客呢?一、搭建个人博客需要什么呢(1)购买服务器,个人博客可以购买香港服务…

修改yum的镜像服务器为阿里云

1、进入阿里云镜像网站 http://mirrors.aliyun.com/ 2、选择centos---help 3、安装help里的步骤进行操作 1、备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/ CentOS 5 wget -O /e…

java instanceof 继承_Java中的instanceof关键字

Java中,instanceof运算符的前一个操作符是一个引用变量,后一个操作数通常是一个类(可以是接口),用于判断前面的对象是否是后面的类,或者其子类、实现类的实例。如果是返回true,否则返回false。也就是说:使用…

学习笔记-JMeter 进行接口压力测试

一、压力测试场景设置 1、场景设定:进行接口压力测试时,有单场景也有混合场景。单场景就是对一个接口进行请求;混合场景需要对多个接口进行请求,在流程类业务场景会运用到 2、压测时间设定:通常时间为10-15…

四宫格效果 css_【深度教研】智力游戏“九宫格” 集体教研活动纪实

【关键词】教研要建立过程模式,规范管理,分层推进,各负其责,及时反馈,展示总结。让教研的过程成为全体教师共同成长的过程。游戏和材料不是一次性的制作和一次性的使用,其价值在于反复玩,玩中学…

sql server numeric 可存几位小数_CBA中的10大传奇队长,将篮球精神一直传递下去,你认识几位呢?...

阅读本文前,请您先点击上面的蓝色字体“十点听情感”,再点击“关注”,这样您就可以继续免费收到最新文章了。每天都有分享。完全是免费订阅,请放心关注!!!中国男子篮球职业联赛简称CBA中国篮球自…

设置ntpdate服务开机启动校验时间

一般linux都预装了 ntpdate 服务。 如果没有安装,参考博文:http://blog.csdn.net/zengmingen/article/details/52913486启动设置 1、检查系统服务里有没有ntpdate 使用命令:chkconfig --list2、设置开机启动 chkconfig 的命令详见&#xff1a…

电脑卡顿不流畅是什么原因_什么造成游戏直播画画卡顿、延迟?这三个原因了解一下...

原标题:什么造成游戏直播画画卡顿、延迟?这三个原因了解一下从事直播的朋友们相信都有所体会,直播时很容易出现画面卡顿、延迟的现象,这究竟是什么原因造成的呢?最可能是这几点!1、服务器过载崩溃说起服务器…

java linux 调用32位so_从linux源码看socket(tcp)的timeout

从linux源码看socket(tcp)的timeout前言网络编程中超时时间是一个重要但又容易被忽略的问题,对其的设置需要仔细斟酌。在经历了数次物理机宕机之后,笔者详细的考察了在网络编程(tcp)中的各种超时设置,于是就有了本篇博文。本文大部分讨论的是socket设置为block的情况…

spark DAGScheduler、TaskSchedule、Executor执行task源码分析

摘要 spark的调度一直是我想搞清楚的东西,以及有向无环图的生成过程、task的调度、rdd的延迟执行是怎么发生的和如何完成的,还要就是RDD的compute都是在executor的哪个阶段调用和执行我们定义的函数的。这些都非常的基础和困难。花一段时间终于弄白了其中…

代码实现tan graph model for classification_自定义 Estimator 实现(以BERT为例)

本文将主要介绍tensorflow 的Estimator 这个高级API,它的主要作用就是提出一个高级范式(paradigm),将模型的训练,验证,预测,以及保存规范起来,免去了tensorflow的Session.run 的操作…