退出vim命令 我保证~这是你想要的vim

vi和vim的区别

一直以来,小编习惯会用vi file.txt来进入一个文件进行查看或者编辑,可是也发现有的人习惯用vim file.txt,本来本着”难得糊涂“的原则(也许vi是vim的简写吧,反正没觉得有什么不一样),暗地里给自己的小聪明点赞,写两个字母简直不要太爽(是不是觉得小编是个”戏精”)。但是今天咱是来做正经事儿的,可不能再”糊涂了“,那么我们今天就先回答这样一个问题之后再向下看吧。

vi(Visual Interface,可视化接口)和vim(VI iMproved V,增强版全屏编辑器)都是Linux中的编辑器,不同的是vim 是vi的升级版本,它兼容了vi的所有指令。vi适用于文本编辑,但是vim更适用于coding。vim官网()自己也说vim 是一个程序开发工具而不是文字处理软件。vim有vi没有的一些特性,例如:vi中按u只能撤销上一次命令,而在vim中则可无限制撤销;vi只能在unix运行,而vim还可在windows,mac等操作平台运行;vim还可以用不同颜色加亮你的代码,vi则不能(本文最后略有介绍)。

下面会详细介绍一下vi和vim的通用命令~~

vi/vim的三种模式

命令模式(Insert mode)

vi/vim进入一个文件之后即进入了命令模式,在该模式下的所有输入都是命令。

若文件是一个不存在的新文件(vi/vim new.txt),则在底部会提示你打开的是一个新文件,可以正常编辑保存。

插入模式(Command mode)

在命令模式下按字母i/a/o都可以切换到插入模式(不要以为只有i才是插入哦),在该模式下可以进行文本编辑。

按ESC回到命令模式。

底行模式(Last line mode)

在命令模式下按:可以切换到底行模式,即可以在最底部的一行输入命令。

按ESC回到命令模式。

常用的vi/vim命令

大家已经了解vi/vim的三种模式了,下面我们就介绍一下我们常用的vi/vim命令。在阅读下面内容的时候一定要谨记命令是在什么模式下执行的哦,这样才容易理解。以下带”:”表示是在底行模式下,否则在命令模式下,输入命令后,按Enter键执行命令。

文件编辑完毕后需要保存文件该怎么操作呢?

:f

查看文件状态。在底部可以看到”文件名称 文件总行数 光标所在行占比”

:w

将编辑的数据写入硬盘档案中。相当于将编辑的数据存储一下

:w!

强制写入。不过,到底能不能写入,还是跟对该档案的档案权限有关!

:q

退出vi。若没有编辑文件,执行命令后会直接退出;反之,执行后会提示”已修改尚未保存”,可用!强制执行。

:q!

不保存强制退出。只要你有从头开始的勇气,这个命令你随便用!

:wq

保存后退出。:x也有相同功能;快捷键shift+ZZ(大写)。若文件没有编辑,wq为不存储离开退出vim命令,否则保存后离开。总而言之,打开文件离开的时候,只要你对自己期间的这波操作没有意见的话,你都可以用这个命令,特别省心!

:w filename

文件另存为filename。简直十分便捷有木有,一边编辑一边备份不要太爽哦!

:r filename

读入另一个文件中的数据,然后加到光标所在行的下一行。合并文件呢!

:n1,n2 w filename

将n1行到n2行的内容另存到filename中

怎么显示行号?

:set nu

即set number,显示行号

:set nonu

即set nonumber,不显示行号

按i/a/o可以从命令模式切换到输入模式进行编辑,不同命令决定开始时光标的位置

i

从光标所在位置开始输入。

I

从光标所在行的第一个非空格字符处开始输入。如果某行开头就有很多字符,再也不用一个一个移动过去啦,非常有用。

a

从光标所在字符的下一个字符处开始输入

A

从光标所在行的最后一个字符处开始输入。当然可以先i,再按End,随你高兴。

o

在光标所在行的下一行开始输入新行

O

在光标所在行的上一行开始输入新行

r

只会取代光标所在的那一个字符一次

R

会一直取代光标所在的文字,直到按下 ESC为止

你是否曾经烦恼自己只能让光标一下一下动,是否曾经懊恼为什么我不能让光标指哪打哪?现在小编就来做个知识的搬运工,让光标为你所用。

h(←)

光标向左移动一个字符(向左箭头键)

j(↓)

光标向下移动一个字符(向下箭头键),或者数字+Enter键(常用)

k(↑)

光标向上移动一个字符(向上箭头键)

l(→)

光标向右移动一个字符(向右箭头键),或者数字+Space键(常用)

0

光标移动到本行开头,相当于按Home键

$

光标移动到本行末尾,相当于按End键

w

可跳到下个单词的首

e

可跳到单词尾

有人说了,移动一个字符用键盘上的箭头键就好了,字母还要记住每个字母对应哪个方向,这块好鸡肋。鸡不鸡肋先听小编告诉你一个小秘密:仔细观察你的键盘,你是不是发现hjkl是排列在一起的呢?h在左就向左移,l在右向右移,只需要记住J是向下,那么k就是向上了,这样记忆是不是很好记?另外你还可以在字母前加上数字,这样就可以移动几个字符,比如说10h是向左移动10个字符,15l是向右移动15个字符,20j是向下移动20行,25k是向上移动25行。

你还可以像word中一样翻页:

Ctrl+f

向下翻页,相当于[Page Down]按键 (常用)

Ctrl+b

向上翻页,相当于[Page Up]按键 (常用)

Ctrl+d

向下翻半页(记忆ctrl+down)

Ctrl+u

向上翻半页(记忆ctrl+up)

你也可以以一个屏幕为单位操作光标:

H

光标移动到这个屏幕的最上方那一行的第一个字符(记忆Highest)

L

光标移动到这个屏幕的中央那一行的第一个字符(记忆Lowest)

M

光标移动到这个屏幕的最下方那一行的第一个字符(记忆Middle)

G

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

nG

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

gg

移动到这个档案的第一行,相当于 1G (常用)

看到这里,你是不是发现了一个很优秀的命令:nG?简直不能太优秀了哇!

寻找某个字符串/批量替换修改?小编想你也是需要的

/string

光标之下寻找某个字符串

?string

光标之上寻找某个字符串

n

重复前一个搜索动作,向下寻找

N

重复前一个搜索动作,向上寻找

:s/string1/string2/

替换光标所在行

:1,.s/string1/string2/g

第1行到当前行,将所有string1替换成string2,”.”表示当前行,g表示一直替换退出vim命令,不加g表示只替换遇到的第一个。

:1:$s/string1/string2/g

第1行到末尾行,将所有word1替换成word2;等同于%s/string1/string2/g,%是全局的意思

:1:$s/string1/string2/gc

第1行到末尾行,将所有string1替换成string2,替换前确认是否替换

:1:$s/string1/r&/gc

全局替换,&表示要替换的字符,即string1。意思是将所有string1替换成换行符后加word1;等同于%s/string1/r&/gc

:n1,n2s/string1/string2/g

第n1行到第n2行,将所有string1替换成string2

cc

替换当前行

C/c$

替换当前行中从光标处到行末的全部字符

cw

替换当前行中从光标处到行末的全部字符

ce

替换当前行中从光标处到行末的全部字符

cb

替换当前行中从光标处到行末的全部字符

后5个替换命令并没有给出要替换的内容,所以实际操作的时候是先删除同时进入插入模式,然后手动输入替换内容。

删除命令

x

向后删除一个字符,相当于delete键;nx向后删除n个字符

X

向前删除一个字符,相当于backspace键;nX向前删除n个字符

D

删除当前行光标后的所有字符

dd

删除光标所在整行;ndd删除光标所在行加向下的共n行

d1G/dG

删除光标所在行到第一行的所有数据/删除光标所在行到最后一行的所有数据

d0/d$

删除光标所在字符到本行首字符的数据/删除光标所在字符到本行末尾字符的数据

复制与粘贴命令

yy

复制光标所在整行;nyy复制光标所在行加向下的共n行

y1G/yG

复制光标所在到第一行的所有数据/复制光标所在到最后一行的所有数据

y0/y$

复制光标所在字符到本行首字符的数据/复制光标所在字符到本行末尾字符的数据

p

将复制的数据粘贴到光标下一行

P

将复制的数据粘贴到光标上一行

J

将光标所在行与下一行结合成一行

有没有发现删除和复制命令的相似之处呢?赶紧找到记忆的窍门吧!

还原与重做命令

u

复原上一个动作

Ctrl+r

重做上一个动作

是不是贼喜欢windows编辑下的撤销与重做命令?vi/vim也有哦,记得要用呀!

vi/vim显示/编辑多个文件

命令:vim file1 file2 file3 …[多个文件]

在底行模式下,

:next 切换到下一个文件;或者bn

:prev 切换到上一个文件;或者bp

:first 切换到第一个文件

:last 切换到最后一个文件

:q 退出当前文件

:qa 退出所有文件

注意:使用qa的时候若不能顺利退出,可以选择一个文件一个文件退出

退出vim命令_linux中vim后如何退出_linux vim 不保存退出

命令:vim -o file1 file2 file3 …[多个文件] 水平显示多个文件

命令:vim -O file1 file2 file3 …[多个文件] 垂直显示多个文件

分屏显示一个文件

命令:vim file

先执行Ctrl w再按s :水平拆分窗口

先执行Ctrl w再按v :垂直拆分窗口

可多次切割显示

窗口间切换命令是先执行Ctrl w,再按箭头键或者hjkl

退出当前用:q,退出所有用:qa

记忆:Ctrl w 表明是在windows模式下,s是standard的缩写,v是vertical的缩写。同一个文件中,前后核查比对的时候这个很好用哦!

设置专属vi/vim

是不是厌倦了一成不变的黑底白字或者白底黑字(注意高亮功能只在vim中)还看不到文件中的分隔符?vi/vim又来了!

首先拷贝全局vim配置文件到自己的目录下,命令是cp /etc/vimrc ~/.vimrc。将对应功能的命令直接粘贴到~/.vimrc中保存即可。比如说set nu(永久显示行号),syntax on(语法高亮显示),set autoindent(自动缩进),set nowrap(不自动换行)等。

vi/vim有很多很多命令,常用的就这么多啦!另外相同的目的有多种实现方式,这里有这么多,总有一款适合你!

———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99

滚动至顶部