首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否将makeprg设置为VIM函数?

是否将makeprg设置为VIM函数?
EN

Stack Overflow用户
提问于 2011-03-30 00:46:56
回答 2查看 1.5K关注 0票数 3

我正在使用VIM来处理Visual Studio解决方案,并且我已经编写了一个函数,该函数从当前文件开始向上搜索文件系统,并定位第一个*.sln文件。

我想做的是这样的:

代码语言:javascript
运行
复制
function! BuildSLN()
    " FindSLN is my function that locates the sln "
    let slnfile = FindSLN()
    if slnfile != ""
        execute "!devenv " . slnfile . " /Build Debug"
    endif
endfunction

CompilerSet makeprg=:call BuildSLN()

这样,我就可以使用当前为:make设置的键绑定来构建解决方案文件。

这个是可能的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-02 02:23:31

我已经找到了一个解决方案,尽管从技术上讲不是我自己问题的答案:)

由于每当我进入C#或VB.net缓冲区时都会加载编译器设置,因此我将执行以下操作:

代码语言:javascript
运行
复制
let &l:makeprg='"devenv.com "' . FindSLN() . '" /Build Debug"'

在编译器设置文件中。这给了我想要的效果,但是从技术上讲,它并没有像最初请求的那样,将makeprg设置为在调用:make时将被计算的函数。

票数 3
EN

Stack Overflow用户

发布于 2011-08-02 07:22:03

您可以定义一个映射/函数/命令/任何内容:

  • 确保您的makeprg已正确设置
  • execute :make
  • execute a :copen if an error。

就我个人而言,我更喜欢在编辑目录(that I associate to a project)中的文件时设置makeprg。以及一些用于切换编译模式方面的映射(调试/发布、后台/非、目标(交叉编译/非)、多线程编译/非)等。每次更改其中一个方面时,我都会更新makeprg。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5476006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档