微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Vim中获取当前文件的名称

我正在尝试找到我正在Vim编辑的文件名称。所以我可以用它来映射F5来编译这个文件。如果我能识别文件格式,并且选择相应的编译器,当然会很棒,但实际上并不是必需的。如果我找到该文件名称,我可以自己做。但是我真的找不到任何方式来获取我正在编辑的文件名称

我知道:make命令,并已经映射了,但对于小脚本/测试程序,我真的不想先写一个简单的makefile。

我试图找到我正在vim内编辑的文件名称

对于当前缓冲区,这将给你文件名称

echo "You're editing " bufname("%")

(只是把它放在一些file.vim中,并将其引用为“:so%”,但我不认为这是你需要的。

所以我可以用它来映射F5来编译这个文件,以供测试。当然,如果我能识别文件格式,并且选择相应的编译器,那么当然会很棒,但实际上并不是必需的。如果我找到该文件名称,我可以自己做。但是我真的找不到任何方式来获取我正在编辑的文件名称

你可以做几件事情如果vim识别您正在编辑的文件类型,则可以将F5映射到编译器命令,并将该命令放在其特定的ftplugin目录中,因此它将仅对该文件类型有效。例如,你把

nmap <f5> :!compilername %<cr>

在cpp.vim中,fortran.vim,python.vim …(当然不一样的命令,你不会用cpp编译器编译fortran,你在这种情况下放Fortrancompiler%)

这将像你在命令提示符编译器文件file.cpp(%给出您正在编辑的当前文件名称)

这是一个选择。您还可以根据vimrc中的扩展名设置autocmd命令进行尝试,以便根据文件的扩展名识别文件类型。这是vim的所有标准用法,没什么不寻常的。现在,我不知道你想要怎么做,所以我只想指出你到Vim Wiki,你可以在这里找到涵盖这一点的各种文章(以及一些编译器的一些提示)。

我知道:make命令,并已经映射了,但对于小脚本/测试程序,我真的不想先写一个简单的makefile。

是的,这似乎过度杀伤。个人(当我在Win时),我发现简单的批处理文件比大项目更容易编写,如果程序在一个或两个文件中,我只是使用一些oneliner映射进行编译。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐