VIM
vim的四种模式
**正常模式**:启动vim后默认处于正常模式。不论位于什么模式,按下`Esc`键(有时需要按两下)都会进入正常模式
- w:跳到下一个单词
- b:跳到上一个单词
- 0:跳到行首
- $:跳到行尾
- gg:跳到文档开头
- G:跳到文档末尾
- ctrl + u :上翻页
- ctrl + f :下翻页
- zz:将光标移到屏幕中间
- dt{char} : delete to char (删除到char)
- ct{char} : delete to char and into insert(删除到char然后进入insert
- ctrl+u:向前滚动半页 模式)
**插入模式**:
i:进入插入模式o:新起一行进行添加a:在光标后进行追加在插入模式中,可以使用```ctrl + h``` 或者 ```ctrl + w```来删除上一个单词ctrl + u :undo操作
- **命令模式**:在正常模式中,按下:(英文冒号)键,会进入命令模式。在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等
- %s s/{a}/{b}/g:全局把a替换成b
- vs:垂直分割屏幕
- sp:水平分割屏幕
- ctrl + w:移动到上一个屏幕
- **可视模式**:在正常模式中按下v, V, `Ctrl`+v,可以进入可视模式。可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便
- y:复制
- p:粘贴
宏的使用
- 录制宏:
- 回放宏:
自动补全
- 单词自动补全
- ctrl + n:下一个单词
- ctrl + p: 上一个单词
- 文件自动补全ctrl + f
修改VIM的配色
: colorscheme xx
其中xx为配色名称
持久化配置
在~/.vimrc中可以输入一些命令,以此来保存配置:
set nuset autoindentset background=darkcolorscheme hybridsyntax on
按键映射
*map
:其中*可以为i(insert),c(command),n(normal),v(visual)*noremap
: *的取值同上
nore的区别在于这种按键映射是非递归的。
举例:
imap jj <esc>
这么样一条命令代表在insert模式下按下jj会自动切换到normal模式