vim有inset和normal状态。
在normal状态
1、 按ESC键返回normal状态
2、 在normal状态下,按i(光标前)插入,a(光标后)插入,o(光标下)插入一行,O(光标--上)一行,A(光标行尾部)插入,进入insert状态。
3、 建议normal状态下用h(←)j(↓)k(↑)l(→) 操纵光标移动,逼格高,方便,符合人体工程学。
4、 $ 移动到光标所在行末尾字符,g_ 移动到光标所在行末尾非空字符, 0 移动到光标所在行首字符, ^ 移动到光标所在行第一个非空字符(不同系统中支持不一样)。
5、 normal状态下按x删除光标处字符
--> dd删除光标所在行内容,并强其复制到剪贴板中
-->yy复制光标所在行内容
-->p 将之前删除内容粘贴到指定光标所在行的下一行位置(如,ddp交换两行位置)。
6、 :wq存盘并退出,:w存盘,:q退出,
-->:x 必要时存盘再退出,Ctrl+ZZ 也是必要时存盘再退出
保存文件为test.cpp并退出
:wq test.cpp
7、 / 查找,? 反响查找,之后可以接正则表达式
-->通过下属命令,使搜索结果高亮显示
:set hlsearch
-->n 向下移动到查找结果的下一个位置
-->N 向上移动到查找结果的下一个位置
7、 u(undo)取消上一次操作,ctrl+r (redo)撤销取消操作
8、 . 重复上一个有改变文本的命令(默认的单行移动光标不算)
配置文件
"自定义"
set nocompatible
"错误提示音"
set noerrorbells
set showmatch
set ignorecase
set incsearch
set novisualbell
set laststatus=2
set tabstop=2
set gcr=a:block-blinkon0
set softtabstop=2
"自动存盘"
set autowrite
set ruler
set cursorline
set magic
set history=3000
set autochdir
"屏中分割"
set colorcolumn=82