Vim知识点
目录
- Vim知识点
- 一:什么是vim
- 二:vim常用的三种模式
- 三:vim的基本操作
一:什么是vim
vim最小集
vim是一款多模式的编辑器—各种模式—每种模式的用法有差别—每种模式之间可以互相切换
但是我们最常用的就是3~5个模式
vim就是一个单纯的编辑器
注意事项:
1.如果你知道自己目前所处的是什么模式,直接无脑ESC
2.退出的时候,一般先保存后退出
3.vim操作,不要用鼠标
要进入vim我们直接vim 文件名,如下图:
二:vim常用的三种模式
正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式
末行模式/底行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。
在命令模式下,shift+: 即可进入该模式。
要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes
我这里一共有12种模式:six BASIC modes和six ADDITIONAL modes
三:vim的基本操作
我们先来说一下如何调出行号,在底行模式下,输入set nu就可以调出行号,输入set nonu就可以关闭行号。
但是大多数的指令都是在命令模式下操作的,不是底行也不是插入。
接下来我们看看vim的一些基本指令:
首先我们Linux并没有完全兼容小键盘,虽然可以使用小键盘上的上下左右按键,但是我们不建议这么使用,我们在Linux里面有专属的上下左右:hjkl
h:左,因为它是四个字母里面最左边的
l:右,因为它是四个字母里面最右边的
j:下,可以理解为jump,向下跳
k:上,可以理解为king,高高在上
yy/nyy:复制当前行或者复制当前行在内的指定若干行。
p/np:粘贴一行或者多行的内容到当前光标所在行的下一行
未复制前:
我们对第一行yy操作,复制第一行,然后光标放在最后一行,然后p操作。如下图:
我们这次输入7yy,然后光标移动到最后一行:
然后我们p操作:
我们就将这7行复制到了光标所在行的下一行。
如果我们7p,就是将所复制的7行复制到光标所在的下一行然后复制7份。如下图:
u:撤销上一次的操作,比如上图我们复制的,按u就可以撤销,如下图:
未按u之前的代码:
按u之后:
ctrl +r:对刚才的撤销进行撤销
我们在上面按完u之后在按ctrl+r,如下图:
所以u和ctrl+r是一对反操作,两者对立。
dd/ndd:对当前行,或者当前行在内的n行的内容进行剪切
如果只进行dd/ndd就是删除
没有dd操作之前的代码如下:
我们按dd,剪切了光标所在行:
如果是多行的话一样的操作就不过多演示。
shift g:将光标定位到文档最结尾
我们说了vim操作不用鼠标,那么一定我们代码很多行的话要找到结尾就单单靠j按键是非常不方便的,我们这里就引入了shift g指令:
我们现在光标位于第一行,如下图
然后我们进行shift g操作,直接定位到最后一行了,如下图:
gg:将光标定位到文档最开始
n shfit g:将光标定位到文档的指定行
shift 4:将光标定位到文档行的结尾
就是将光标定位到当前光标所在行的结尾:
我们现在光标位于第5行的开头位置,如下图:
然后我们shift 4,效果如下图:
shift 6:将光标定位到文档行的最开始
n w,n b:按照单词为单位,进行前后移动,w向后,b向前
shift ~:快速大小写切换
n r:替换光标所在的字符
先输入n r,然后输入要替换的字符
n x(小写x):行内删除,左侧->右侧
n X:行内删除,右侧->左侧