1

在 Vim 中,有没有办法:make用相同的参数集重新运行最新的命令?类似于 Emacs 中的重新编译命令。

4

3 回答 3

2

键入 :make然后按将把你的最后一个 :make 命令放在你的命令行中。你可以吗?

如果您讨厌:make每次都键入,您可以将您的 make 命令绑定/映射到某个键,然后您只需按下该键即可执行您的命令。

PS有人知道如何使“向上箭头”看起来像带有SO降价的键盘键吗?<kbd>??</kbd> C-V <up>在这里肯定行不通。:)

谢谢英戈·卡卡特!!

于 2013-02-15T10:50:28.907 回答
1

当它仍然是最后执行的 Ex 命令时,一个简单的@:就可以了。如果您不确定,建议:make后面的更好。您可能还喜欢我的redocommand 插件,它允许通过:R :make(或任何较短的唯一标识字符串)进行调用。

于 2013-02-15T10:57:28.770 回答
1

我有以下设置、映射、命令和函数:

command! -nargs=* Make write | let g:make_args="<args>" | make <args> | cwindow 6
function! Make2()
  if !exists("g:make_args")
    let g:make_args = ""
  endif
  wall
  exec "silent! make " . g:make_args
  cwindow 6
  redraw
endfunction
inoremap <F2> <ESC>:call Make2()<CR><C-L>
noremap <F2> :call Make2()<CR><C-L>

您需要显式调用:Make myprog一次。之后,您只需键入<F2>并且它使用您用于最后一个:Make命令的最后一个参数。如果您想制作其他东西,请再次:Make new_prog明确使用。

于 2013-02-16T00:39:53.173 回答