打开文件时如何简化包含“..”的文件路径

问题描述 投票:0回答:1

我在

.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
。如何简化文件路径?

vim
1个回答
0
投票

您可以多次使用

:h
从路径中删除文件名及其包含的子目录。

map \tdc :tabnew %:h:h/lib/%:t:r.cpp<CR>
map \tdh :tabnew %:h:h/inc/%:t:r.h<CR>
© www.soinside.com 2019 - 2024. All rights reserved.