一、vim的基础概念
vim的三种模式,分别是命令模式(command mode)、插入模式(insert mode)、底行模式(lastline mode),各模式的功能区分如下:
命令模式(command mode)
控制着光标的移动、字符、字或行的删除,移动或复制行或段落。以及进入插入模式或底行模式。
插入模式(insert mode)
只有在插入模式下才能做文字的输入,按esc即可退回命令模式。
底行模式(lastline mode)
执行文件的保存或退出,也可以执行文件的替换,查找字符串列出行号等操作,按esc可退回命令模式。
三中模式之间的切换方式:
从命令模式到插入模式:按键盘 i 。
从插入模式回退至命令模式:按键盘 esc 。
从命令模式到底行模式:按键盘 shift + ; 组合键。
从底行模式回退至命令模式:按键盘 esc 。
底行模式和插入模式之间不能相互直接切换。
二、vim的基本操作
1.使用vim进入文件test.c
vim 文件名
[xxl@VM-0-2-centos ~]$ vim test.c使用vim进入文件后是处于命名模式中,需要切换到插入模式中才能进行文本的输入和编辑。
2.退出vim并保存文件
需要切换到底行模式才能进行文件的保存和退出。
输入 w :保存当前文件
输入 wq :保存文件并退出
输入 q!:强制退出
三、vim命令模式的命令集
vim的键盘图
插入模式
按 i 进入插入模式后是从光标当前位置开始输入文本。
按 a 进入插入模式后是总光标的下一个位置开始输入文本。
按 o 进入插入模式后是插入新的一行,从行首开始输入文本。
移动光标
vim可以直接使用键盘上的按键来直接移动光标[h]、[j]、[k]、[l]分别控制着光标左、下、上、右移动一格。
按两次g [gg] :将光标定位到文本开始的位置。
按组合键 shift + g [G] :将光标定位到文本的结尾处。
按组合键 数字n + shift + g [nG] :将光标定位到文本的第n行。
按组合键 shift + 4 [$] :将光标定位到行尾。
按组合键 shift + 6 [^] :将光标定位到行首。
按 w、b、e :光标会按照单词符进行行内移动,w(光标跳到下个单词的开头),e(光标跳到下个单词的结尾),b(光标跳到上个单词的开头)。
删除文字
按 x :每按一次,删除光标所在位置的一个字符。
按 数字n + x [nx] :删除光标所在位置及后面的共n个字符。
按组合键 shift + x [X] :删除光标前面的一个字符。
按组合键 数字n + shift + x [nX] :删除光标所在行前面的n个字符。
按两次 d [dd] :删除光标所在行。
按组合键 数字n + [dd] [ndd] :从光标所在行开始删除n行。
复制
按两次 y [yy] :将光标所在行复制到缓冲区。
按组合键 数字n + [yy] [nyy] :从光标所在行开始复制n行到缓冲区。
按 p :将缓冲区内复制的内容粘贴到光标所在位置。
替换
按 r :替换光标所在处的字符,例如某个字符输错了可以按r替换。
按组合键 shift + r [R] :一直替换光标位置的字符,直到按esc退出替换模式。
撤销
按 u :撤销上一次的操作。
按组合键 ctrl + r :恢复撤销的操作。
四、vim底行模式的命令集
按esc键从底行模式回退至命令行模式,按组合键 shift + ; [:] 从命令行模式进入底行模式。
列出行号
输入 set nu [set nu] :会在文件的每一行前面列出行号。
输入 set nonu [set nonu] :取消每一行的行号。
跳到文件的某一行
输入 数字n + enter :可以直接跳到文件的第n行。
查找字符
输入 / + 关键字 :可以查找关键字,如果不是自己想找的关键字可以按 n 继续向后查找。
输入 ?+ 关键字 :可以查找关键字,如果不是自己想找的关键字可以按n继续向后查找。
保存文件
输入 w :可以保存文件。
输入 w!:强制保存。
退出vim
输入 q :直接退出。
输入 q!:强制退出。
输入 wq :保存并退出。
输入 wq!:强制保存并退出。
打开新文件
输入 vs filename :打开filename文件。
五、简单vim的配置
普通用户配置文件的位置
1.输入 [cd ~] 指令进入普通用户所在的家目录位置。
2.输入 [vim .vimrc] 指令创建一个.vimrc隐藏文件。
常用的一些配置选项
//设置行号 set nu //语法高亮 syntax on //设置允许使用光标 set mouse=a //按下tap缩进4格 set softtabstop=4 //显示当前列 set cuc //显示当前行 set cursorline //显示括号匹配 set showmatch //设置自动缩进长度为4格 set shiftwidth=4 //继承前一行的缩进格式 set autoindent //自动补全 :inoremap ( ()<ESC>i :inoremap ) <c-r>=ClosePair(')')<CR> :inoremap { {<CR>}<ESC>O :inoremap } <c-r>=ClosePair('}')<CR> :inoremap [ []<ESC>i :inoremap ] <c-r>=ClosePair(']')<CR> :inoremap " ""<ESC>i :inoremap ' ''<ESC>i六、vim批量注释和批量取消注释
批量注释
1.输入[ctrl+v]进入V-BLOCK模式。
2.按H、J、K、L批量选择区域,不能按上下左右选择区域。
3.选中区域后输入[shift+i]也就是大I进入插入界面。
4.输入[//]后按esc即可完成批量注释。
批量取消注释
1.输入[ctrl+v]进入V-BLOCK模式。
2.按H、J、K、L批量选择区域,不能按上下左右选择区域。
3.按[d]批量取消注释。