目录:
----2.0 命令模式
----|----2.0.0 【命令模式 => 输入模式】的几种方式和区别
----|----2.0.1 移动光标的各种骚操作
----|----2.0.2 删除内容
----|----2.0.3 复制、粘贴
----|----2.0.4 撤销、重做
----|----2.0.5 多行注释:添加、删除
----2.1 输入模式
----2.2 底线命令模式
----|----2.2.0 常用基础命令
----|----2.2.1 查找内容
----|----2.2.2 替换内容
所有的Unix Like系统,都会内建vi
文本编辑器,但其他的编辑器则不一定会存在。
但 目前常用的是vim
编辑器(由vi
发展而来的加强版、升级版):对比vi
的优点or区别
- 语法加亮
- 易用性
- 对
vi
完全兼容 vi
适合文本编辑;vim
适合coding,当然还能文本编辑- vim可用于其他操作系统(windows/macos)
所以,不用理会vi
,【学习vim
就能解决一切】,无需关注vi
,无需纠结两者区别。
?0、安装、升级、卸载
最小化安装的Centos7是不自带vim的(但自带vi),所以需要自己安装。
查看vim所在目录:只是看到vim这个文件在哪,它不是文件夹
[root@master Cshell]# which vim
/usr/bin/vim
查看vim 版本:这个命令还可以看到修补的补丁、新增或减少的特性。
[root@master Cshell]# vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 30 2018 19:56:57)
...
vim 安装python插件??还有其他插件,比如 自动补全插件(YouCompleteMe)、文件浏览器和窗口管理器插件(WinManager)、等等各种插件。暂时不研究这些,先提出来。
其他后续添加
?1、简单配置 和 安装插件
配置【对所有用户都有效的】,在/etc/vimrc
文件里配置,不过最好是不要动这个文件。
采用【每个用户建立私有的配置文件】,这里以root用户为例。
[root@master ~]# cd ~ # 进入root主目录
[root@master ~]# pwd
/root
[root@master ~]# vim .vimrc #新建.vimrc文件,并编辑它
set nu "显示行号
syntax on "语法高亮
autocmd InsertEnter * se cul "用浅色高亮当前行
set showcmd "输入的命令显示出来,看的更清楚些
set cursorline "突出显示当前行
set hlsearch "搜索逐字符高亮
set showmatch "高亮显示匹配的括号
上方是配置前的效果。下方是配置后的效果:保存后再次vim时就生效了!
Linux】配置一个强大的Vim:够用就行
强大的vim配置文件,让编程更随意
超级强大的vim配置(vimplus)–续集
【当然,也可以在vim里使用maven(比如用来打包jar!!)】
其他后续添加
?2、模式、以及之间的切换,常用操作
大部分命令集中在:命令模式、底线命令模式中
?2.0 命令模式
一启动vim
,进入的就是命令模式,在这个状态下敲击键盘动作会被vim
识别为命令,而非输入字符。命令模式有很多基本的命令。
命令模式===》》输入模式 的几种方式、区别:
i
,I
(大写):【Insert】i
,从当前光标所在处输入;I
,在当前光标所在行的第一个非空格符处开始输入。
a
,A
a
,从当前光标所在处的下一个字符处开始输入;A
,在当前光标所在行的行尾开始输入。
o
,O
(大写)o
,在当前光标所在行下方新增一空白行;O
,在当前光标所在行上方新增一空白行。
r
,R
:【replace】r
,首先进入输入模式,接着输入一个字符,光标所在处的那一个字符会替代为刚输入的字符,接着便进入正常的输入模式(i
);R
,会一直取代光标所在的字符,直到按下 ESC 为止。
- 输入
:
,进入底线命令模式
✈️ 移动光标相关
命令模式下:上下左右键 与 字母 h j k l 对应
Home键
或数字0
或^
,移动到这行的最前面的一个字符处(光标也停在该字符上)。0是最方便和易记忆的。End键
或美金符号$
,移动到这行的最后的一个字符处(光标也停在该字符上)- 数字+一次空格【组合】:如依次按下
2
、0
、一次空格
,光标会向右移动20个字符的距离 - 光标向上移动20行,依次按下:
2
+0
+回车键1次 - 光标向上移动20行,依次按下:
2
+0
+k
, gg
,按下两次G键,光标移动到文本的第一行第一个字符处nG
,光标移动到指定的行数所在行,如依次按下2
+0
+G
,光标移动到文本第20行H
,移动光标到屏幕最上方那行的第一个字符【high】M
,移动光标到屏幕中间那行的第一个字符【middle】L
,移动光标到屏幕最下方那行的第一个字符【low】w
,光标移动到下一个单词首字符,到了行尾时会自动往下一行移动【word】b
,光标移动到前一个单词首字符
❌删除相关:
x
【只是】删除当前光标所在处的字符,还是留在命令模式;X
(大写)向前删除一个字符(等同退格键back space)dd
,删除光标所在行的全部内容【Delete】ndd
,删除光标所在行的向下n行(含光标所在行)内容。n 是正整数d1G
,删除 光标所在 到第一行的所有内容dG
,删除光标所在 到最后一行的所有内容d0
或c^
, 删除光标所在的前一个字符 到行首所有内容d$
或c$
,删除光标所在的后一个字符到行尾的所有内容c
,与数字、j
组合,如:3cj
,表示向下删除共3行内容(包括光标所在行)cw
,删除光标所在的一个单词。【擦除(chachu)一个单词(word)】
✔️复制、粘贴相关 (其中,y代表复制内容到vim缓存区)
yy
,复制光标所在行的内容nyy
,复制光标所在行的向下n行(包括当前所在行)的内容y1G
,复制光标所在行到文本第一行的所有内容yG
,复制光标所在行到文本最后一行的内容y0
,复制光标所在的那个字符 到本行行首的所有内容y$
,复制光标所在的那个字符 到本行行尾的所有内容p
,将已复制的内容在光标的下一行开始粘贴P
(大写),将已复制的内容在光标的上一行开始粘贴J
(大写),将光标所在行 和下一行的内容结合成一行。【一个大钩子(J)把下面的一行拉到自己行尾】
?撤销、重做
u
,撤销前一个操作U
,撤销当前所有操作- Ctrl+
r
,重做上一个操作。跟u
,配合使用 .
点符号,重复前一个操作,如:前一个操作是dd
,按.
还是dd
操作
?添加和删除注释
命令模式下:多行注释、取消注释(也可用于多行缩进等操作,如空格符)。单行注释一样的道理。
⚡️多行注释
0 将光标移动到需要添加注释的位置
1 Ctrl+v
:进入Visual block模式【块选择模式】
2 按j
(向下)、或k
(向上):选中多行
3 按大写字母I
(不是L):表示在【光标所在行的第一个非空格符处开始输入】
4 输入注释符,如 #
或//
(空格等)
5 ESC键
,此时所选中的行的都注释了
⚡️取消多行注释
0 光标移动到需要注释符所在位置
1 Ctrl+v
:进入Visual block模式
2 按l
(小写字母L),表示向右移动光标,选中列的个数,如注释符//
是两列
3 按j
(向下)、或k
(向上):选中有注释的多行
4 按d键
:便删除了所选中的多行注释
?2.1 输入模式
输入模式常见操作:
- 方向键,在文本中一次移动一个光标
Back Space
,删除光标前的一个字符DEL
,删除光标后的一个字符- 按住鼠标左键选择内容,相当于复制内容
shift
+Insert
组合键,在当前光标处开始粘贴- 在输入模式下,按
ESC
退出输入模式,切到 命令模式。
?2.2 底线命令模式
在命令模式下按 :
(英文冒号)便进入底线命令模式。
?常用基础命令
在底线命令模式下,可输入单个 或多个字符的命令
ESC键
,可随时退出底线命令模式,不管当前在底线里输入了什么。:q
退出vim【quit】:w
存盘【write】!
强行某些操作:e path/file_name
新建一个文件【edit】:set nu
显示行号;:set nonu
隐藏行号,等等各种配置vim的内容,回车即可在当前生效。【number,no number】- 一些基本命令可组合使用,如:
:wq
、:q!
:r path/file_name
会在当前光标处,读取某文件内容到当前文件中,可进行编辑等操作。【read】:w path/file_name
将编辑的内容另存为:n1,n2 w path/file_name
将第n1行到n2行(包括n2)的内容另存为:! command
【暂时离开】vim底线命令模式,去执行command这个命令。如:! pwd
ZZ
(两个大写字母Z),若文档未变动,则直接离开vim;若文档改动了,则保存后离开vim。vim 1.txt 2.txt 3.txt
同时打开多个文件:args
在底部显示打开了哪些文档:next
切换到下一个文件:prev
切换到上一个文件:first
定位到首文件:last
定位到尾文件
?查找内容
- 输入
/
后,输入需要查找的内容。从上往下查找 - 输入
?
后,再输入需要查找的内容。从下往上查找 n
,定位下一个匹配的N
,定位上一个匹配的
?替换内容
:s/1/2
,搜索当前行的第一个1,并用2替换【search】:s/1/2/g
,搜索当前行的所有1,并用2替换【g global】:%s/1/2/g
,在整个文档中将1替换为2【100%全部】
参考:
vim(vi)常用操作及记忆方法
菜鸟教程-Linux vi/vim:里面的图不错
vi与vim的区别以及常用命令:区别了解即可
【彩蛋】
⚠️❗️❓?????⚡️⭐️❌✔️⚪️⚫️◼️◻️⬛️⬜️??
CSDN markdown-emoji表情
MD编辑器就是不告诉你之表情