缓冲区管理
命令 | 功能 | |
---|---|---|
:ls | 列出缓冲区列表 | |
ctrl+^ | 在当前文件(%a)和轮换文件(#)中切换 | |
bprev/bnext | 前一个/后一个buf | |
bfirst/blast | 第一个/最后一个buf | |
bufdo {cmd} | 对所有的缓冲区列表执行ex命令 | |
buffer N/b N | 打开第N个缓冲区 ,简写b | |
bdelete N/n1,n2 bdelete | 删除第N个缓冲区/删除n1到n2的缓冲区,命令可以简写为bd | |
args | 列出满足参数的buf列表 | |
args {arglist} | arglist可以是文件名,可以使通配符,注意和*的区别,前者不会递归子目录 | |
examples1 | args f1.txt f2.md | |
examples2 | args .h */*.cpp | |
argdo / next / prev / first / last | ||
w | 保存— | |
e! | 把磁盘文件读入缓冲区,丢弃所有修改— | |
qa! | 关闭所有窗口,丢弃所有修改— | |
wa! | 把所有改动保存— |
窗口管理 h window
命令 | 功能 | |
---|---|---|
ctrl+w s / sp[lit] | 水平切分窗口 | |
ctrl+w v / vsp[lit] | 垂直切分窗口 | |
ctrl+w w / ctrl+w h /j /k /l | 在窗口间切 | |
ctrl+w c / close | 关闭活动窗口 | |
ctrl+w o / only | 保留活动窗口,close all other |
窗口管理的视频
http://vimcasts.org/episodes/working-with-windows/
标签页
命令 | 功能 | |
---|---|---|
tabe[dit] {filename} | open file in new tab | |
tabc[lose] | close tab and all windows in it | |
tabo[nly] | keep active tab and close all other |
ex命令 | 普通模式命令 | 功能 | |
---|---|---|---|
tabn[ext] {N} | {N}gt | swtich to next or tab number N | |
tabp[revious] | gT | swtich to previous tab | |
tabmovedt | |||
lcd {path} | 设置工作目录—— | 只影响当前窗口,windo lcd {path}可以为标签页中的所有窗口设置本地路径———————– |
%代表当前文件的完整路径,:h会去除文件名
:edit %:h
:find
通过path配置项设置find的搜索路径,如::set path+=app/**
:h file-searching获取更详细的介绍
:edit {path} 打开文件管理器 或者Explore/E
如:e. 或 E都表示打开文件管理器,并显示当前工作目录
:Explore :Sexplore :Vexplore
netrw-% netrw-d netrw-del
:h netrw-ref
ctrl-g 查看当前文件的文件名和状态
!mkdir -p %:h
以超级用户权限保存文件
:w !sudo tee % > /dev/null
映射项配置
cnoremap %% getcmdtype() == ‘:’ ? expand(‘%:h’).’/’ : ‘%%’