使用的配置
https://github.com/amix/vimrc
安装很简单
git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime
sh ~/.vim_runtime/install_awesome_vimrc.sh
ack 插件
系统需要安装 ack-grep, ubuntu安装命令:sudo apt-get install ack-grep
常用命令
全局查找文件(ctrlp插件)
ctrl + f
--打开全局文件搜索面板
Esc
--退出全局文件搜索面板tab(标签)相关
gt
--后一个标签
gT
--前一个标签
num + gt
--跳转至第num个标签
,tl
--上一次的标签
:q
--关闭标签
:Te
--新建标签,并打开当前文件目录
,tn
--新建空白标签目录树(NERD_tree插件)
,nn
--打开目录树
,nn
--关闭目录树窗口相关
ctrl + w + q
--关闭窗口
:q
--关闭窗口,窗口只有一个tab的情况
ctrl + w + w
--切换窗口
:sp
--竖直方向上拆分当前窗口
:vsp
--水平方向上拆分当前窗口如何打开一个工程
在某个工程的根目录下输入打开vim,则该vim窗口的文件操作默认为整个工程,比如全局搜索文件或字段全局搜索字段(ack插件)
,g
--打开全局字段搜索面板,默认大小写敏感,-i 不区分大小写,-w 全词匹配
q
--退出全局字段搜索面板当前文件所在的目录
:E
--打开当前目录,一般用于切换当前目录的文件
:Te
--新建标签并打开当前目录,一般用于打开当前目录下的其它文件查看最近打开的文件列表
,f
--打开面板
q
--退出面板当前文件下搜索
*
--按下即可搜索光标所在的单词或当前选中的内容,不区分大小写
gd
--光标移动至单词,按下即可搜索该单词,区分大小写
/
--输入单词向下搜索
?
--输入单词向上搜索,一般用于查log,配合G跳转至文件底部使食
gv
--调用ack全局搜索选中的内容显示行修改标志
,d
--显示与不显示逐一切换光标停留的位置记录
ctrl + o
--上一个时间点光标停留的位置
ctrl + i
--下一个时间点光标停留的位置文件刷新,即重新载入
:e
--重新载入
:e!
--放弃当前修改,强制重新载入
:e file_dir
--载入 file_dir 路径下的某个文件粘贴0号寄存器的内容
ctrl + r + 0
--比如y复制选中的内容后粘贴到命令输入框折叠命令
za
--打开或关闭当前折叠
zM
--关闭所有折叠
zR
--打开所有折叠跳出双引号继续编辑
有些时候输入完字符串需要移动光标至双引号外继续输入
"
--在 " 处输入 " ,即可将光标跳转至当前双引号之外文件路径
:f
--查看当前文件路径变量名补全
ctrl + n
--自动补全变量名,再次输入匹配下一个代码块补全,只需输入部分代码,然后按tab键
lua为例:
if + tab
--if代码块
forp + tab
--for i,v in pairs() do end 代码块
fori + tab
--for i,v in ipairs() do end 代码块
fun + tab
--函数模板代码块代码检错
:ALEToggle
--启动检错代码注释
gcc
--注释当前行,再次输入则撤销注释
num + gcc
--注释num行
gc
--注释选中部分取消搜索高亮
:nohl
多窗口显示
:sp
--水平切分窗口
:vsp
--垂直切分窗口替换
,r
* 开始编辑替换选中内容文件相关
,o
* 查看目前已打开的文件列表
vim 编辑相关
范围命令
w
--光标所在的位置至单词末尾的部分或一个单词,包括单词后的空格
iw
--光标所在位置的一个单词,不包括单词后的空格
aw
--光标所在位置的一个单词,包括单词后的空格
b
--与 w 相反
e
--end of word,至单词结尾
$
--至当前行结尾
0
--至当前行开头
f+字母
. --至当前行的某个字母操作命令
d
: delete
dd
--删除当前行
diw
--删除光标所在单词
dw
--正向删除一个单词(光标后的部分)
db
--逆向删除一个单词(光标前的部分)
d$
--删除光标所在的位置至本行末尾
d0
--删除光标所在的位置至本行首部
c
: change, 与 d 的区别只在于操作后进入插入状态
y
: yank, 与 d 的区别在于跟范围命令组合后全部为复制操作操作命令(少与范围命令组合)
~
--大小写字母转换
s
--删除一个字母,删除后进入插入模式
x
--删除一个字母,删除后处于命令模式
r
--即replace,修改替换一个字母,并且替换过后仍然处于命令模式
R
--修改替换无限多个在字母