使用vim的最后一个参数:make命令

时间:2010-02-17 00:42:14

标签: vim

我有一个关键映射来构建我的项目。

noremap <F5> :make<CR>

这很有效。但是我有时候只构建了一个项目。在这种情况下,我使用命令:make smaller_part来构建该片段。我也喜欢这个用例的一键映射。

noremap <S-F5> :make last_arguments()<CR>

这可能吗?不需要last_arguments()功能。这就是我想象的解决方案。重要的是我点击了一个键然后运行:使用我上次给出的参数进行制作。

3 个答案:

答案 0 :(得分:7)

我用

map <f2> :wa<cr>:Make <Up>

使用最后一个参数运行make 顺便说一句

command -nargs=* Make write | make <args> | cwindow 6

是Make。

答案 1 :(得分:1)

我不知道您是否可以通过编程方式从命令历史记录或其中的特定参数中检索最后一行。我希望你能,但我不知道怎么做。

但这里的限制是什么?如果您允许初次调用make来调用您已定义的函数,例如:MyMake(smaller_part),那么可以将small_part保存在变量中,您可以定义Remake()函数这将在保存在该变量中的目标上调用make

您可以接受该解决方案吗?或者原始调用必须采用:make smaller_part形式?

答案 2 :(得分:1)

如果你在自己的几个命令中包装:make命令怎么办?一个命令使用您提供的任何参数运行make(可能没有)。它还将参数存储在变量中。然后将此命令映射到&lt; F5&gt;。另一个命令使用存储在变量中的参数运行make(再次,如果有的话)。您将此命令映射到&lt; S-F5&gt;。我认为用于定义自己的命令的vim命令是Command。