vim 常用快捷键(整理版)
编辑模式
-
o open a line below
-
i insert
-
a appen
-
I insert a line before
-
A appen a line below
-
O appen a line above
全局替换(Java替换为Python)
% s/Java/Python/g
语法高亮
syntax on
Visual模式
- v 选择模式
- V 选择整行
- ctrl + v 多行
插入模式小技巧
如何快速修错
- ctrl + h 删除上一个字符
- ctrl + w 删除上一个单词
- ctrl + u 删除整行
进入最后一次编辑的位置(插入模式)
gi
vim快速移动
- 反人类的hjkl
单词之间的移动
- w 移动到下一个单词的开头
- e 移动到下一个单词的结尾
- b 移动到上一个单词的开头(backword)
行间移动(移动至本行搜索字符位置)
- f{char} 移动到char字符
- F{char} 反向搜索本行char字符
- t{char} 移动到char前一个字符
水平移动
- 0 移动至行首第一个字符
- ^ 移动至第一个非空白字符
- $ 移动至行尾
- g_ 移动至行尾非空白字符
文件内移动
- gg 快速移动至文件开头
- G 快速移动至文件结尾
- H/M/L 快速移动至文件开头,中间,结尾
- ctrl+u/ctrl+f 上翻页/下翻页
- zz 把屏幕放置中间
删除字符
- dw 删除单词
- dd 删除整行
- dt delete to (" 删除引号 括号之间的字符
- 4x 删除4个字符
Vim快速修改
- r replace 替换一个字符
- c change cw(change word) 修改整个单词
- s substitute 替换后进入插入字符
Vim查询
- 使用/或者?进行前向或者反向搜索
- 使用n/N 跳转下一个或者上一个匹配
- 使用*或者#进行当前单词的前向与后向匹配
Vim替换命令
- substitute 查找并替换文本,支持正则
:[range]s[unstitute]/{pattern}/{string}/[flags]
-
range 表示范围 比如:10,20 表示10-20行,%表示全部
:1,10 s/java/Java/g //替换1-10行 :% s/java/Java/g //替换全部
-
pattern 是要替换的模式,string是替换后的文本
-
flags替换标志位
- g (global)表示全局范围内执行
- c (confirm)表示确认,可以确认或者拒绝修改
- n (number)报告匹配到的次数不做替换。
-
正则替换
:% s/\<java\>/Java/g //精确替换前后字符
Vim多文件操作
- buffer 文件缓存区
- 使用 :ls列举当前缓冲区,:b n 跳转至第n个缓存区
- :bpre :bnext :bfirst :blast
- :b buffer_name 加上tab补全来跳转
- window 窗口
- <ctrl + w>w
- <ctrl + w>hjkl
- vs 分割窗口
- tab 组织多个窗口
- tabnew 新建tab工作区
- gt & gT 切换工作区
Vim的Text Object
-
文本对象的操作方式
[number]<commond>[text object] 例如:ciw ci) ci" ci'
- number 表示次数
- command 命令 d(delete) c(change) y(yank)
- text object 文本对象 w(word) 句子s 段落p
vim寄存器与复制粘贴
-
y(yank) 复制 yy复制整行 yiw复制一个单词
-
p(put) 粘贴
-
insert模式下的复制粘贴
- autoindent 设置自动缩进后,格式会乱
- set paste 与 set nopaste可解决
-
常见寄存器
- "+ 复制前加上可复制进系统剪切板
- set clipboard=unnamed
强大的vim宏 (macro)
- 宏 一系列命令的集合 q开始 q结束
- qa 开启录制 保存在寄存器a q结束录制
- 多行执行 V+G 选择全部,进入命令行
- normal @a 执行录制宏
Vim补全
- ctrl + n 或者 ctrl + p 补全单词
- ctrl + x 或者 ctrl + f 补全文件名
- ctrl + x 或者 ctrl + 0 代码补全,需扩展插件.
Vim配色
:colorschemes //显示当前主题
:colorschemes <ctrl+d> //显示所有主题
:colorschemes name //更换name主题
Vim 基础END
- 使用裸VIM进行编辑
- 练习盲打
- IDE增加VIM插件
- 肌肉记忆