我经常从OS X(El Capitan)终端进入Linux集群,有时还有多个终端选项卡。我使用bash和vim。
我想做以下事情:
- ssh'd时,使用终端选项卡标题设置为当前工作目录
PROMPT_COMMAND='printf "\e]1;"`basename $PWD`"\a"'
- 使用vim时,将终端选项卡标题设置为“vim - FILENAME”
这是我的问题:
- 如果我这样做
let &titlestring = "vim — " . expand("%:t")
并且set title
在.vimrc中,它会更改终端窗口标题,而不是标签标题。如果我没有单独设置标签标题(参数1),标签标题会反映窗口标题(参数2),但是一旦我设置标签标题,它就会与窗口标题“分离”。 - 如果我在运行一个外部命令.vimrc里有
:!
,我得到一个“按ENTER”对话框,很烦人。 - 如果我
:silent !
在.vimrc中使用,我的终端提示会在退出vim后终止于屏幕底部。我真的不想在每次想要使用vim时保存提示位置并重置它。 如果我在.bashrc中定义以下函数:
function vim { printf "\e]1;"`basename "$1"`"\a" vim "$1" }
然后我的终端在从命令行调用时崩溃
vim
。调用该函数vvim
可以正常工作,但我不想vvim
永远键入。我想别名vim
。
所以我好像卡住了。任何建议将不胜感激。先感谢您!