vim编辑器讲解

今天聊一下vim编辑器,这个编辑器,大伙都说好用; 其实我说句实在话,我还是比较喜欢那种鼠标点点点;Windows的页面的 可是,咋们架构师,高低也得整个黑屏,然后敲敲敲吧; 这样子采购炫酷来着;今天聊一下这个vim; vim是一本书:很多知识点来着;这里的学习知识九牛一毛而已;

1、vim的模式介绍

命令模式:

  • 一般命令模式、底部命令模式:
    • 可以使用快捷键命令,或按:输入命令行
  • 插入模式:
    • 可以输入文本,在正常模式下,按i、a、o等都可以进入插入模式
  • 可视化模式:
    • 正常模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本
    • 按V进入可视行模式, 总是整行整行的选中

ctrl+v 进入可视块模式:

viw		选中单词
vis		选中整段
vi(		选中括号内的所有字符

2、vim的常用命令

进入编辑模式:

a 		在当前光标后面插入
A 		在行尾插入
i 		在当前光标插入
I 		在行首插入
o 		在下一行插入
O 		在上一行插入
ciw 	删除当前一个单词,并进入插入模式
ct" 	删除双引号中间的内容,并进入插入模式
ctf 	删除从当前位置到下一个f字符之间的字符

自动填充操作:

在输入模式下输入部分字符然后输入
ctrl +x 和 ctrl + n 用正在编辑的文件的内容作为关键字补齐。
ctrl +x 和 ctrl + f 以当前目录内的文件名作为关键字补齐。
ctrl +x 和 ctrl + o 以拓展名作为语法填充,以vim内建的关键词补齐。(必须要写对文件拓展名,比如.html,.php等等)

光标定位操作:

A|end|$ 		将光标定位到行尾
0|home|^ 		将光标定位到行首
gg 				将光标定位到文件第一行
G 				将光标定位到最后一行
w 				前移一个单词,光标停在下一个单词开头;
e 				前移一个单词,光标停在下一个单词末尾;
b 				后移一个单词,光标停在上一个单词开头;
nG 				到文件第n行。
:n 				移动到第n行。
fm 				快速定位到当前行,光标之后的第一个m字符处(通常在行首使用),如果有多个相同字符,可以使用分号;进行下一个选择。
Fm 				同上,只是反向查找。

复制、剪切、粘贴操作:

yy 				复制整行
p(小写) 		   粘贴(在下一行粘贴)
P(大写) 		  粘贴(在上一行粘贴)
y$|y+end 		从光标当前位置复制到行尾。
y0 				从光标当前位置复制到行首。
d$|D|d+end  	删除(剪切)当前位置到行尾的内容。
d0|d+home  		删除(剪切)当前位置到行首的内容。
[n] dd: 		删除(剪切)1(n)行。
:m,nd 			剪切m行到n行的内容。
dgg: 			剪切光标以上的所有行。
dG: 			剪切光标以下的所有行。
daw和das: 	   剪切一个词和剪切一个句子,即使光标不在词首和句首也没关系

替换(一般命令模式替换)

r: 			替换光标处的字符,同样支持汉字。
R: 			进入替换模式,按esc回到正常模式。

替换(底部命令模式)

#底部命令模式:就是要输入那个冒号出来的
:s/old/new 				用new替换当前行第一个old。
:s/old/new/g 			用new替换当前行所有的old。
:n1,n2s/old/new/g 		用new替换文件n1行到n2行所有的old。
:%s/old/new/g 			用new替换文件中所有的old。
:%s/^/xxx/g 			在每一行的行首插入xxx,^表示行首。
:%s/$/xxx/g				在每一行的行尾插入xxx,$表示行尾。
#所有替换命令末尾加上c,每个替换都将需要用户确认。 如:%s/old/new/gc

文档的保存/退出:

:wq 			保存并退出。
ZZ 				保存并退出。	#这里直接输入ZZ
:x 				保存并退出

:q 				文档未编辑时,可以直接退出。
:q! 			文档编辑过了,强行退出,不保存。

:w 				保存修改。
:w file2 		将修改的文件保存到另外一个文件。
:r file3 		读取当前目录下的file3内容到当前文档。

:e! 			一个文档修的地方太多了,最后自己都不知道哪里改对了,哪里改错了,可以使用重新加载文档,丢弃已做的改动。

:Sex 			水平分割一个窗口,浏览文件系统,等同vim -o file1  file2;
:Vex 			垂直分割一个窗口,浏览文件系统,等同于vim -O file1  file2;

ctrl +w 		连按两次w,可实现两个窗口的切换
%				快速匹配括号
gf 				打开以光标所在字符串为文件名的文件。然后使用ctrl + ^ 可以再次回到源文件。

基本排版:

< 			先输入v进入可视化模式,向左缩进一个shiftwidth
> 			先输入v进入可视化模式,向右缩进一个shiftwidth
:ce(nter) 	本行文字居中
:le(ft) 	本行文字靠左
:ri(ght) 	本行文字靠右

编辑多个文件:

vim a.txt b.txt c.txt -p
* 使用:next(:n)编辑下一个文件。
* :2n 编辑下2个文件。
* 使用:previous或:N编辑上一个文件。
* 使用:wnext,保存当前文件,并编辑下一个文件。
* 使用:wprevious,保存当前文件,并编辑上一个文件。

改变大小写:

shift ~: 		反转光标所在字符的大小写。
#可视模式下的U:把选中的文本变为大写或小写。
v 				可视字符 ,可以选择多个字符 ,再按U ,可以将小写切换为大写
V 				可视行,可以选择多行,再按u,可以将大写切换为小写

文件加解密:

vim -x file: 		开始编辑一个加密的文件。
:X 					为当前文件设置密码。
:set key= 			去除文件的密码。

折叠操作

zf 				创建折叠的命令,可以在一个可视区域上使用该命令,可缩减空间方便阅读;
zo 				打开折叠的文本
zc 				收起折叠;
zd 				删除当前行的折叠,删除之后就不能再次折叠了;
za 				打开/关闭当前折叠;
zfap 			折叠光标所在的段;

3、vim的常见设置

智能缩进

:set si

#取消:
:set nosi

自动对齐

:set ai

#取消:
:set noai

显示行号

:set nu

#取消:
:set nonu

语法高亮

:syntax on

#取消:
:syntax off

显示换行符

:set list

#取消:
:set nolist

设置文件格式

设置为windows格式:
:set fileformat=dos
设置为unix格式:
:set fileformat=unix
简写:
:set ff=unix|dos

增量搜索

:set incsearch

显示命令

:set showcmd

更换主题

#显示当前使用的主题
:colorscheme

#显示所有可用的主题
:colorscheme 空格 + ctrl +d

#更换主题颜色:
:colorscheme morning

分享环节:

hi,亲爱的朋友们:

  • 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
  • 资源免费共享;有需要滴滴,(仅仅是我有的)

我的坚持初衷:💕立志要成为一名架构师

  • 不断地去坚持学,其中的各种各样的难度,不言而喻~!
  • 坚持不是一件容易的事情,但它却是成功的关键。做起来吧~!

如果你也想要坚持:那么组团吧,咋们一块互相监督;一天一点分享也是进步;最怕就是孤军奋战!加油吧,追梦人~!