• 欢迎访问显哥博客,本网站纯属学习技术,绝无商业用途,欢迎小伙伴们共同学习!研究技术!QQ:52249909 加我QQ
  • 世界75亿人,这么小的概率,能认识你,是我一生的幸运,不妨加个QQ接触一下:52249909 加我QQ

Vim编辑器的命令总结-详解【显哥出品,必为精品】

运维基础 lixian 2年前 (2019-12-11) 728次浏览 7个评论 扫描二维码
文章目录[隐藏]

vim的三种的工作模式

普通模式

打开一个文件后,默认的状态就是普通模式,在这个模式中,不能进行编辑输入等操作,但可以上下左右来移动光标,还可以执行命令进行复制、粘贴、删除等操作。

编辑模式

在普通模式下按“ i,I,o,O,a,A,r,R,s,S ”(其中i最常用)等字母进入编辑模式后才可以执行录入文字等编辑操作。可以修改文件、删除文件内容等。

末行模式

在普通模式下,输入” :” ” / ” ” ?” 时,进入末行模式,可以执行保存、退出、搜索、替换、显示行号、写入写出等操作。

Vim键盘图

Vim编辑器的命令总结-详解【显哥出品,必为精品】

一、普通模式

移动:

h 或(←)删除键	#光标向左移动一个字符,前面加n然后再移动 可以移动多行
l  或(→)空格键	#光标向右移动一个字符,前面加n然后再移动 可以移动多行
j  或( ↓ )回车键	#光标向下移动一个字符,前面加n然后再移动 可以移动多行
k 或( ↑ )	        #光标向上移动一个字符,前面加n然后再移动 可以移动多行
H		     		#移动到当前窗口的最上方的一行
M	             		#移动到当前窗口的最中间的一行
L	             		#移动到当前窗口的最下方的一行
gg	 			#将光标移动到文件的第一行
G或shift+g 		#将光标移动到文件的最后一行
ngg或nG         		# n表示数字,跳转到指定的某一行
$				#将光标移动到当前行的行尾
^或0				#将光标移动到当前行的行首
ctrl+f 			#往下翻页(行比较多)
ctrl+b 			#往上翻页
~				#让当前的字符变成大写
>>				#向右移动一个缩进
<<				#向左移动一个缩进
==				#取消缩进
J				#将当前行和下一行变成一行
W				#向后移动字符串,移动到字符串的第一个字符,长跳
w				#向后移动字符串,移动到字符串的第一个字符,短跳
E				#向后移动字符串,移动到字符串的最后一个字符,长跳
e				#向后移动字符串,移动到字符串的最后一个字符,短跳
B				#向前移动字符串,移动到字符串的第一个字符,长跳
b				#向前移动字符串,移动到字符串的第一个字符,短跳

删除:

删除:
dd	 			#删除一行
ndd				#n为数字,删除从光标开始向下共n行(包括当前行)
D				#将光标之后的内容都删除(针对行操作)
dG				#删除光标以下的所有内容(包括光标所在行)
dgg		 		#删除光标以上的所有内容(包括光标所在行)
X				#删除光标之前的字符
x/delete			#删除当前光标从前往后删除一个字符
dw				#删除光标之后一组字符串
de				#删除光标之后一组字符串

复制粘贴:

yy	 			#复制,nyy,yny
p(小写)	 		#粘贴(光标所在行的下一行)
P(大写)			#粘贴(光标所在行的上一行)
np				#向下粘贴多行
nP				#向上粘贴多行

替换撤销:

u				#撤销
ctrl+r			#恢复撤销
r				#单个字符替换
R				#多个字符替换(按 ESC 退出替换)、
ZZ				#保存退出

二、编辑模式

直接进入:

i				#在当前光标处进入编辑模式
a				#在当前光标后插入内容
I				#将光标跳至行首,并进入编辑模式
A				#将光标跳到行末,并进入编辑模式
o				#在当前行下面插入一行,并进入编辑模式
O				#在当前行上面插入一行,并进入编辑模式

删除进入:

s				#删除光标所在的字符,并进入编辑模式
S				#删除光标所在的行并进入编辑模式
ce				#删除光标后字符串,特殊字符不算是字符串,并进入编辑模式
cw				#删除光标后字符串,会把特殊字符算是字符串,并进入编辑模式
C				#删除当前光标之后的内容,并进入编辑模式
cc				#删除当前行并进入编辑模式

三、末行模式

保存退出:

: w 				#保存当前状态
: w! 				#强制保存当前状态
: q				#退出当前文档(前提是文档没有编辑)
: q!				#强制退出文档不会修改当前内容
: wq				#先保存,再退出
: x				#先保存,再退出
ZZ				#保存退出, shfit+zz 相当于 :wq 相当于:x
: wq!				#强制保存并退出
(就算没有修改文件:wq会强行更新修改时间,而:x不会更新修改时间)

光标操作:

:number			#跳转至对应的行号,和普通模式 ngg 一个意思

删除:

: nd				#删除指定的行
: n,m d			#删除连续的多行,  n 数字  m 数字   n  <  m

搜索:

/root				#向下搜索的指定的字符串
n				#向下查找
N				#向上查找
/root\c			#搜索的时候忽略大小写
?root			#向上搜索

替换:

:%s#1#2#g		#全局替换
:%s#1#2#		#替换每一行的第一个匹配的字符
:s#1#2#			#替换第一个匹配的字符串
:1s#1#2#g		#替换指定行的匹配的字符串
:1,3s###g		#替换第一行到第三行的内容
:%s#1#2#gi		#替换的时候忽略大小写

读入:

:r	/path		#将一个文件的所有写入到当前文件的当前行下面
:$r	/path		#将一个文件的所有写入到当前文件的最下面
:0r	/path		#将一个文件的所有写入到当前文件的最上面
:1 copy  10      	#将第一行复制到第十行的后面
:1,3 copy  10     	#将第一行到第三行复制到第十行的后面
:1 move  10      	#将第一行移动到第十行的后面
:sh				#进入命令行进行命令,返回使用Ctrl+d 或者 exit

变量设置:

:set nu 			#显示行号
:set nonu			#取消行号
:set list			#给每行的结尾添加一个标识符(制表符)
:set nolist			#取消制表符

视图模式(扩展)

可视行:

1、将光标移动到要操作的行
2、shift+v 进入可视行模式
3、操作方向键选中所要操作的行
4、可进行y进行复制d/x删除

可视块:

1、将光标移动到要操作的行
2、curl+v 进入可视块模式
3、使用方向键选中所要操作的块
4、shift+i或I 进入编辑模式
5、编辑内容后然后按Esc键退出
6、批量删除块选中多块后按d或x删除


本站博主 , 版权所有丨如未注明 , 均为原创
转载请注明原文链接:Vim编辑器的命令总结-详解【显哥出品,必为精品】
喜欢 (37)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到
(7)个小伙伴在吐槽
  1. 1234
    匿名2019-12-19 14:33 回复
  2. 收藏一波 ~很详细
    匿名2019-12-12 21:20 回复
  3. 123456博主是个二机子
    匿名2019-12-12 21:20 回复
  4. 博主你是个弄啥呢
    匿名2019-12-12 21:19 回复
  5. 写的很详细,支持一下
    匿名2019-12-11 23:37 回复
  6. lixian
    签到成功!签到时间:2019-12-11 22:50:16,每日打卡,生活更精彩哦~
    lixian2019-12-11 22:50 回复
  7. 很实用啊! :wink:
    匿名2019-12-11 22:14 回复