vim의 상태 표시줄에 짧은 호스트 이름을 추가하고 싶습니다. 둘러봤지만 Powerline 플러그인이 설치되어 있지 않으면 불가능해 보입니다. 아래는 내 것입니다 .vimrc
. 어떻게 hostname
변수를 추가할 수 있나요?
let hostname=system('hostname -s')
set laststatus=2
set statusline+=%F\ %P\ %c:%l
업데이트: vim 상태 줄에서 호스트 이름 뒤에 나타나는 "^@"를 제거하려면(호스트 이름 호출에서 개행 문자인 것으로 의심됩니다) 다음 명령을 사용합니다.
let hostname=system('echo -n $LOGNAME@$(/bin/hostname -s)')
답변1
vim
다음을 수행할 수 있는 hostname()
기능( 참조 ) 이 있습니다.:h hostname()
:set statusline=%{hostname()}
답변2
statusline
변수 이름을 포함하도록 수정할 수 있습니다.
예를 들어, 저는 statline
플러그인을 사용하고 있으므로 내 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()}%*
이 모든 것은 플러그인 자체에 의해 연결됩니다.
귀하의 경우에는 다음을 사용할 수 있습니다.
let hostname=system('hostname -s')
set statusline+=%F\ %P\ %c:%l\ %{hostname}
답변3
기본상태 표시줄대략 다음과 같이 시뮬레이션할 수 있습니다.
:set statusline=%f\ %h%w%m%r%=%-14.(%l,%c%V%)\ %P
어디
%f - buffer name (path to a file, or something)
%h - help flag
%w - preview flag
%m - modified flag
%r - readonly flag
%= - separater between the left (buffer name) and the right (ruler) parts
%-14.(...%) - minimum field width == 14
%l - line
%c - column
%V - virtual column
%P - percentage
호스트 이름을 추가하는 한 가지 방법은 다음을 사용하는 것입니다.hostname()
기능:
:set statusline=%#CursorColumn#\ %{hostname()}\ %*\ %f\ %h%w%m%r%=%-14.(%l,%c%V%)\ %P
어디
%#CursorColumn# - sets highlight group
%{...} - embeds arbitrary expression
%* - resets highlight group
사용 가능한 그룹 목록과 해당 내용을 보려면 다음 스크립트를 실행할 수 있습니다.처럼 보인다:
:so $VIMRUNTIME/syntax/hitest.vim
또는 간단히 호스트 이름을 괄호로 묶을 수도 있습니다.
:set statusline=[%{hostname()}]\ %f\ %h%w%m%r%=%-14.(%l,%c%V%)\ %P
날 봐다른 답변상태선을 그리는 기본 방법에 더 가까워지고 싶은 경우.