Vim命令

一、基本编辑操作

返回上一个编辑的文件: e# 

跳转到指定的行,比如第30行: 30G 或 30gg 

自动补全: Ctrl-N 下一个匹配词,Ctrl-P 前一个匹配词 

查找与替换:

s/old/new/g 当前行替换
%s/old/new/g 全文替换
%s/ols/new/gc 全文替换并请求确认

 剪切、拷贝、粘贴:

1,按v并移动光标选择,或者按V移动光标整行选择
2,d剪切,y拷贝
3,移动光标到指定位置
4, p粘贴在光标之后,P粘贴在光标之前

将tab转换为空格,使用ret命令(replace tab)格式为 :

 [range]ret[ab]! [new-tabstop] 例如: %ret!4 

 使用标签页:

:tabf ~/.vimrc 在新标签页中打开~/.vimrc
:tabn 下一个标签页
:tabp 上一个标签页
:tabfirst 第一个标签页
:tablast 最后一个标签页
:tabnew 新建一个标签页

 显示当前文件的完整路径和光标所在位置: 

Ctrl-g 或 :f

二、使用ctags

加载tags文件:

:set tags=../../ctags

跳转到指定的标签:

:tag enable_mmu

跳转到光标下单词的标签:

CTRL-]

跳转回上一个标签:

CTRL-O

如果有多个相同的标签,那么:

跳到第一个标签 :tfirst 或者 :trewind 

跳到最后一个标签 :tlast 

跳到下一个匹配的标签 :tnext 

跳到前一个匹配的标签 :tprevious 或者 :tNext 

使用预览窗格:

命令 短命令 描述
:ptag [tag] :pta 在预览窗格中打开标签
CTRL-W }   打开光标下的标签
:ptnext :ptn 跳到下一个匹配的标签
:ptprevious :ptp 跳到上一个匹配的标签
:pclose :pc 关闭预览窗格
CTRL-W z   关闭预览窗格

三、代码折叠

在~/.vimrc中设置:

set foldenable
set foldmethod=syntax

折叠命令:

zc 关闭当前打开的折叠
zo 打开当前的折叠
zm 关闭所有折叠
zM 关闭所有折叠及其嵌套的折叠
zr 打开所有折叠
zR 打开所有折叠及其嵌套折叠
zd 删除当前折叠
zE 删除所有折叠
zj 移动到下一个折叠
zk 移动到上一个折叠
zn 禁用折叠
zN 启用折叠
原文地址:https://www.cnblogs.com/brep/p/4253882.html