我一直踢到终端(查看某些命令的输出等)的方式是 run :!<CR>
,但是它总是打印出来Press ENTER or type command to continue
并将输出提高一行,最终导致一些东西滚出屏幕。
有没有更好的方法从 vim 显示终端?或者有没有办法让它:!<CR>
不打印那个短信?
我一直踢到终端(查看某些命令的输出等)的方式是 run :!<CR>
,但是它总是打印出来Press ENTER or type command to continue
并将输出提高一行,最终导致一些东西滚出屏幕。
有没有更好的方法从 vim 显示终端?或者有没有办法让它:!<CR>
不打印那个短信?
使用:susp
或<C-z>
。fg
在 shell 中恢复 vim。
通常回滚是可以通过的<C-PageUp>
,因此不需要不惜一切代价避免一行滚动。
如果您想查看一个带有参数的命令(例如 tail、ls、locate 等)的结果,您还可以使用:
command! -nargs=* -complete=shellcmd ShellRead new | setlocal buftype=nofile bufhidden=hide noswapfile | read !<args>
cabbrev Sh ShellRead
这将 shell cmd 的结果显示到会话中的“临时”窗口中。
如果需要,可以更轻松地拉动/保存/使用。没有额外提示按 Enter。
例如:ShellRead locate blast
,将在新的拆分窗口中显示结果,如果成功,则显示错误消息
当然这是你想要的交互式shell进程,那这行不通。;)