Como adicionar a exibição do nome do host à linha de status do VIM no Linux?

3

Gostaria de adicionar o nome do host curto à linha de status no vim. Eu olhei em volta, mas curto de instalar o plugin Powerline, não parece possível. Abaixo está meu .vimrc . Como posso adicionar a variável hostname a ela?

let hostname=system('hostname -s')
set laststatus=2
set statusline+=%F\ %P\ %c:%l

UPDATE: para remover o '^ @' que aparece após o nome do host na linha de status do vim (eu suspeito que seja um charter de nova linha da chamada do nome do host) eu uso isso:

let hostname=system('echo -n $LOGNAME@$(/bin/hostname -s)')
    
por Server Fault 14.01.2016 / 17:02

2 respostas

2

statusline pode ser modificado para incluir nomes de variáveis.

Por exemplo, estou usando o statline plugin, então meu statusline é:

statusline=[%{StatlineBufCount()}:%n] %<%1*[%f]%*%2*%h%w%m%r%* %y[%{&ff}%{g:statline_encoding_separator}%{strlen(&fenc)?&fenc:g:statline_no_encoding_string}] %5*%{&paste?(g:statline_show_paste_string):''}%*%5*%{&list?(g:statline_show_list_string):''}%*%=%-14( L%l/%L:C%c%V %)%P %4*%{exists('g:sfe_availableScms')?SfeStatus():''}%* %3*%{exists('g:loaded_syntastic_plugin')?SyntasticStatuslineFlag():''}%*%3*%{StatlineTabWarning()}%*%3*%{StatlineTrailingSpaceWarning()}%*

Tudo o que é concatenado pelo próprio plug-in.

No seu caso, você pode usar:

let hostname=system('hostname -s')
set statusline+=%F\ %P\ %c:%l\ %{hostname}
    
por 14.01.2016 / 19:20
3

vim tem uma função hostname() (consulte :h hostname() ), portanto, você pode fazer

:set statusline=%{hostname()}
    
por 15.01.2016 / 16:54

Tags