准备
事先准备一个测试文件,取名test.c
输入如下内容
#include<stdio.h>
int main(int argc, char**argv)
{
return 0;
}
NormalMode(正常模式)
普通模式,默认进入vim之后,就处于这种模式。
例如ubunut终端下执行vim test.c,即进入正常模式,这时候按Up,Down, Left,Right光标会上下左右移动
输入yy,会复制当前行,按p键粘贴
输入dd,会删除当前行,删除的内容仍然在剪切板,按p键可以在任意位置粘贴,类似于剪切功能
多行复制或剪切,先输入数字,再输入yy或dd,复制或剪切光标所在行为起始行,往下对应输入数字的行数
比如复制5行,将光标移动到目标行,输入5 yy
跳转到任意行输入行数+G
比如跳转到100行处,输入100G
当前文件内字符搜索
输入斜杠/紧跟要搜索的字符
VisualMode(可视模式)
在这种模式下选定一些字符、行或列。
在普通模式下,用以下方法进入:
v字符选择模式
V行选择模式
Ctrl+ v(unix)/Crtl+q(windows)列选择模式
在main函数这一行按下v,vim左下角会出现--VISUAL--字样,指示已经进入可视模式,这时候按下方向键,可以单字符选择或取消前面的选择,按下y键,则复制了选择区域,自动进入正常模式,按下p键粘贴复制的内容
或者进入可视模式以后,选择字符按下d键删除所选内容,进入正常模式后,再按p,又把删除的内容粘贴出来,类似于windows的剪切
如果不想复制或者删除,按两下ESC键回到正常模式
行选择模式和列选择模式与字符选择模式操作是相同的,不同的是分别以行和列为单位做选择。
InsertMode(插入模式)
普通模式下,有几种进入插入模式的方法:
i 在光标所在字符前开始输入文字并进入插入模式
a 在光标所在字符后开始输入文字并进入插入模式
o (字母o)在光标所在行的下面单独开一新行来输入文字并进入插入模式
s 删除光标所在的字符并进入插入模式
I 在行首开始输入文字并进入插入模式。此行首指第一个非空白字符处。如果行首有空格,则在空格之后输入文字并进入插入模式
A 在行尾开始输入文字并进入插入模式。这个好用,您不必管光标在此行的什麽地方,只要按A就会在行尾等着您输入文字。
O (大写字母O)在光标所在行的上面单独开一新行来输入文字并进入插入模式。
S 删除光标所在行并进入插入模式
进入插入模式以后,vim左下角会出现--INSERT--字样,这时就可以输入内容了,比如在main函数输入return0;的代码,要保存的话按ESC进入正常模式,然后输入冒号进入后面会说的命令行模式,输入w键,按Enter就执行了保存命令,这时候停留在正常模式下
命令行模式/Ex模式
命令行模式和Ex模式。两者略有不同,普通模式下按冒号:进入Command-Line模式,可以输入各种命令,比如显示行号:
按冒号:,然后输入set nu命令,再按Enter执行次命令,行号都显示在每行最前面
普通模式下按Q进入Ex模式,其实就是可以输入多行命令的命令行模式。
正常模式下输入q:显示输入命令缓存,并可以用Up,Down键选择再执行
几个常用命令:
退出vim
:q
修改后不保存
:q!
修改后保存退出
:wq
vim配置文件.vimrc
这个文件默认是不存在的,要在自己的家目录下创建,比如登录的用户名为abc,那就在/home/abc下创建,输入命令touch .vimrc
vim在启动时会自动加载你的配置
该文件的注释方法是英文格式的双引号"
vim的插件目录.vim
这个目录和.vimrc一样也不存在,也要在你的家目录下创建,该目录用来保存插件和插件的用户手册,所以创建该目录以后也要创建doc plugin两个子目录