如何在 Vim 中查看旧的状态消息?

如何在 Vim 中查看旧的状态消息?

我觉得如果我知道这里的正确术语,我就不需要问这个问题了,谷歌就足够了。唉。

使用http://www.vim.org/scripts/script.php?script_id=2423,当我运行 ':Gist' 命令时,插件会在终端窗口底部打印指向要点的链接,通常在那里输入命令。我不知道这叫什么。我无法在那里选择文本,因此无法复制它,当我做其他事情时,文本会消失并被正常模式文本替换。

我知道有 q: 可以查看旧命令,但是有没有什么方法可以查看像 gist.vim 吐出的旧消息?或者至少有某种神奇的方法可以让我复制那些漂亮的文本,然后我再做其他事情,它就会消失?

如果相关的话,我在 OS X Lion 上并在 iTerm 中运行 Vim。没什么特别的。

答案1

在 中:help Gist,有一个设置可以自动将要点链接复制到剪贴板:Gist -c

If you set g:gist_clip_command, gist.vim will copy the gist code with option '-c'.

Mac:

let g:gist_clip_command = 'pbcopy'

Linux:

let g:gist_clip_command = 'xclip -selection clipboard'

Others (cygwin?):

let g:gist_clip_command = 'putclip'

将其添加到您的~/.vimrc,您就可以开始了。

编辑:

找到了一个比较 hack 的解决方案。

前往gist.vim并找到此功能。

function! s:GistPost(user, token, content, private)

  " find GistID: in content, then we should just update

  ...  

  let location = substitute(location, '^[^:]\+: ', '', '')
  if len(location) > 0 && location =~ '^\(http\|https\):\/\/gist\.github\.com\/'
    redraw
    echo 'Done: '.location
  else

  ...

  return location
endfunction

改成。echoechomsg

  if len(location) > 0 && location =~ '^\(http\|https\):\/\/gist\.github\.com\/'
    redraw
    echomsg 'Done: '.location

现在重新启动 vim,输入 后:Gist,键入:message以获取消息历史记录中的链接。消息历史记录记录了该会话的所有echomsg内容echoerr

答案2

由于插件不同,我正在寻找您的问题的答案。我偶然发现了 中输出的消息名称:h message

如果您的 vim 窗口仍然打开,您可以点击g<查看最后一条消息。

我认为:messages也有效。

答案3

向插件作者发送了有关此问题的修复程序。https://github.com/mattn/gist-vim/pull/49

相关内容