文章目录
- vim的基本概念
- vim指令集
- 复制粘贴
- 撤销、剪切
- 光标定位
vim的基本概念
vim是一款多模式的编辑器,在我们常用的模式有3~5种。分别是
命令模式
(command mode)、插入模式
(Insert mode)和底行模式
( last line mode)还有就是替换模式
、视图模式
。
在这里介绍一下各种模式之间的转换,首先再打开
vim
的时候就是默认的就是命令模式
,下面图片就是默认打开的样子。
在命令模式切换到插入模式,按i
就进入插入模式了,退出插入模式就是按Esc
,当我们并不知道自己处于什么模式的情况下就无脑的按Esc
,就会退到命令模式。
输入i
之后最底行,就是图片的样子。
从命令模式切换到底行模式,输入Shift + :
,当我们在编译器当中写了一段代码,想要退出并保存就在底行模式输入wq
,w
是保存,q
是退出。
vim指令集
在这里介绍的指令绝大多是都是基于命令模式上的,在有一些在底行模式下的。
底行模式:输入set nu
/set nonu
是给我们的代码行标志行号。
在底行模式当中输入shift + :+ /
是可以搜索在代码当中,下面图片当中就是对字母n
进行搜索。
当我们再写入一些代码之后想要保存,却会发生拒绝或者提醒,这时在底层模式使用shift+:+!+wq
就是强制保存并退出。
shift+:+!+Linux命令
就可以不用退出文件,就可以执行。
在命令模式当中我们也提到了修改代码的方法,但是只能一个一个的修改,当我们碰到了很多出相同的代码需要修改这里就可以使用shift+:+%s/修改前的代码/修改后的代码/g
shift+:+vs+文件名
,这段指令在底行模式使用,可以使vim进行分屏,ctrl+w+w是将光标移至另一个界面。
命令模式:
复制粘贴
在命令模式下在光标所对应的行输入
yy
/nyy
,就是拷贝了,在输入p/np
就是粘贴了,粘贴在光标的下一行(np
的意思是,例如100p
就是粘贴一百次,n
代表的是数量,nyy
也是相同的)。撤销、剪切
在命令模式下输入
u
就是撤销,如果想要将撤销撤销就是Ctrl+r
,
在命令行下输入dd/ndd
就是将该行或者该n
行剪切。在次输入p
就是将剪切下来的进行拷贝,如果并不将剪切下来的内容进行拷贝,那么dd
就是删除。光标定位
当代码过多时想要更快更方便的到最底行,这时就在命令模式输入
Shift+g
,想要到达最顶行就输入gg
,它们同样是支持n+shift+g
的。
上面的是换行,而我们在行内也想要快速的移动,shift+4
是将光标移到该行的最末尾,shift+6
是将光标移到该行的最开始。
还有就是单词与单词之间移动,除字母以外的字符也会被认为单词,w
是向右移动,b
是向左移动。它们也是支持n
的操作。
当我们想要快速的切换字母的大小写,就是用Shift + ~
。
替换光标所在字符,输入r
,之后输入你想要修改的字符,同样也是支持n
的操作。当输入nr
时就是光标往右的n个字符全变成你想要修改的那一个字符。
当我们想要修改一段字符时,就输入shift+r
,但是并不能改变添加字符数量,只是在原本的字符数量上修改。这也是切换到另外一种模式,替换模式。
行内删除,输入x
,也是支持n
的操作。从左到右。
行内删除,输入X
,也是支持n
的操作。从右到左。
在vim
下的移动光标并不是键盘上的上下左右四个箭头,虽然它们也是能用的,但是标准的是hjkl
这四个键,分别是左、下、上、右。从下面的图片也可以看出为什么是用hjkl
来操控光标的上下左右。
从命令模式切换到插入模式,上面我们介绍了一种方式
i
,而还有两种方式进入就是o
和a
,i
是就在当前位置,o
是切换到下一行,a
是在该行向后移动一位。