移动
单词
- w 下一个单词的第一字符
- W 下一个长单词的第一个字符
- e 下一个单词的最后字符
- E 下一个长单词的最后字符
- b 前一个单词的第一个字符
- B 前一个长单词的第一字符
- ge 前一个单词的最后一个字符
行
- 0 | ^ |
到行首 - $ |
到行尾 - gg 到第一行
- G 到最后一行
- XG 到第 X 行
句
- ( 到句首
- ) 到句尾
- { 到断首
- } 到段尾
屏幕
- Ctrl+v 向上滚屏
- Ctrl+e 向下滚屏
- Ctrl+u 向上滚动半屏
- Ctrl+d 向下滚动半屏
- Ctrl+b 向上滚动整屏
- Ctrl+f 向下滚动整屏
跳转
- f 跳到下一个出现字符 x 的位置
- Ctrl+] 跳到下一个主题
- Ctrl+o 跳回原来的位置
折行
- zfap 折一段文字
- zf 创建折行
- zo 打开折行
- zc 关闭折行
文本替换
- :s/regexp/replacement/ 当前出现的一个匹配
- :s/regexp/replacement/g 当前行所有匹配
- :%s/regexp/replacement/g 文件中所有匹配
- :%s/regexp/replacement/gc 每次替换钱需要确认
保存和退出
- :w 保存
- :q 退出
- ZZ |:wq |:x 保存退出
- ZQ | :ql 不保存退出
- :w filename 另存为
编辑
字符
- x 删除当前光标下的字符
- X 删除当前光标左边的字符
- s 修改一个字符
- i 在光标之前插入
- a 在光标之后插入
单词
- diw 删除光标所在的单词,不包括空白字符
- daw 删除当前光标所在的单词,包括空白字符
- dw 从当前位置删除到下一个单词词首
行
- D 删除到行尾的内容
- C 修改到行尾的内容
- S 修改一整行
- dd 删除一行
- w 复制一行
- o 当前行下插入一空行
- O 当前行上插入一空行
- A 在当前行首插入
- I 在当前行尾插入
撤销和重复
- . 重复上一命令
- u 撤销改动
- Ctrl+r 重做
编辑
- P 粘贴到光标之前
- p 粘贴到光标之后
- d 剪切z
状态
- Ctrl+g 当前行信息
- g Ctrl+g 字数统计
程序
移动
- [#| ] # 用于 #if-#if def 结构的跳转
- % 括号匹配跳转
代码块
- [[ 移动到代码块的开头
- ]] 移动到代码块的末尾
- [{ 跳到代码块的开头,跳过平级代码块
- ]} 跳到代码块的末尾,跳过平级代码块
注释内
- [/ 到注释的开头
- ]\ 到注释的末尾
标识符和函数
- [| 查找标识符
设置
- :set autoindent 自动缩进
- :syntax enable 语法高亮
- :set nu! 显示行号
- :set hisearch 查找高亮显示
- :set warp 自动换行
- :set incsearch 立即显示当前输入匹配的
- :set ignorecase 忽略大小写
以上建议写入 .vimrc 中
其他
:gui 以 gvim 模式打开