Показывать пользователя в строке состояния vim - PullRequest
0 голосов
/ 07 марта 2019

Я уже установил в vim постоянную строку состояния, что довольно неплохо, со следующим конфигом в моем .vimrc

" Status line config
set statusline=
set statusline+=%<\                       " cut at start
set statusline+=%2*[%n%H%M%R%W]%*\        " flags and buf no
set statusline+=%-40f\                    " path
set statusline+=%=%1*%y%*%*\              " file type
set statusline+=%10((%l,%c)%)\            " line and column
set statusline+=%P                        " percentage of file

Теперь, когда я часто переключаюсь с тестирования на производственную среду, я бы хотел, чтобы vim показывал текущего пользователя, как это было установлено ISPconfig, в строке состояния.

Отличным плюсом будет возможность иметь одного пользователя (рабочий сервер) красного цвета: D

1 Ответ

0 голосов
/ 07 марта 2019

ОК, я потратил некоторое время на изучение vimscript, поскольку оно того стоит:)

Итак, есть соответствующая часть, которую нужно добавить в .vimrc, чтобы вывести переменную $USER в строке состояния изакрасить его красным (используя системный цвет ошибки), если у пользователя есть значение «prod».

"" Functions 
function! Prodcolor()
  if $USER == "prod" 
    set statusline+=%#error#
  endif
endfunction

" Status line config
set statusline=
call Prodcolor()                          " Give the error color if `$USER` is "prod"
set statusline+=%{$USER}                  " Paste the current vim user
set statusline+=%*                        " Revert color to normal

Для немедленного применения в текущем сеансе vim, в типе vim :so .vimrc

...