我想将&titlestringmy设置.vimrc为包含短主机名。当我有这个时,它工作正常:
let &titlestring = $USER . "@" . hostname() . " | " . expand("%:~")
if &term == "screen"
set t_ts=^[k
set t_fs=^[\
endif
if &term == "screen" || &term =~ "xterm"
set title
endif
Run Code Online (Sandbox Code Playgroud)
但它会打印完整的主机名。为了获得短主机名,我尝试了以下方法:
let hostname=system('hostname -s')
let &titlestring = hostname . " | " . expand("%:~")
if &term == "screen"
set t_ts=^[k
set t_fs=^[\
endif
if &term == "screen" || &term =~ "xterm"
set title
endif
Run Code Online (Sandbox Code Playgroud)
但后来我进入了| ~/.vimrc echo输入行和Thanks for flying Vim标题栏中。如何获取标题栏中的短主机名?
我不会为此启动外部命令;system()您的来电可能.vimrc会解释奇怪的症状。
为什么不.通过 提取短主机名(第一部分,直到 )substitute()?!
let &titlestring = $USER . "@" . substitute(hostname(), '\..*$', '', '') . " | " . expand("%:~")
Run Code Online (Sandbox Code Playgroud)