我在
.h
文件夹中有一些 inc
文件,在 .cpp
文件夹中有相应的 lib
文件。
D:\gitroot\Project\inc\A.h
D:\gitroot\Project\inc\B.h
D:\gitroot\Project\lib\A.cpp
D:\gitroot\Project\lib\B.cpp
我想在处理
.cpp
文件时快速打开相应的 .h
文件,反之亦然,所以我将下面的地图放在 vimrc 中。
map \tdc :tabnew %:h/../lib/%:t:r.cpp<CR>
map \tdh :tabnew %:h/../inc/%:t:r.h<CR>
问题是,当我用它打开相应的文件时,选项卡的文件名是
Project\inc\..\lib\A.cpp
而不是Project\lib\A.cpp
。如何简化文件路径?
您可以多次使用
:h
从路径中删除文件名及其包含的子目录。
map \tdc :tabnew %:h:h/lib/%:t:r.cpp<CR>
map \tdh :tabnew %:h:h/inc/%:t:r.h<CR>