Powerline: рдирд┐рдпреЛрд╡рд┐рдо рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рдЬрдире░ 2015  ┬╖  23рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: powerline/powerline

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдирд┐рдпреЛрд╡рд┐рдо рдХреА рд╕реНрдерд┐рд░-рдЕрд╕реНрдерд┐рд░ рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рддреБрд░рдВрдд рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡реИрд╕реЗ рднреА рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкрд╛рд╡рд░рд▓рд╛рдЗрди рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдЬрдм рдпрд╣ рдмрд╛рдЗрдВрдбреЗрд╡рд▓ рд╡рд┐рдзрд┐ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдирд┐рдпреЛрд╡рд┐рдо рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдХреБрдЫ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рдФрд░ рдкрд╛рдпрд╛ рдХрд┐ рдкрд╛рд╡рд░рд▓рд╛рдЗрди рд╡рд┐рдо рдХреЗ 7.4 рдкрд╛рдпрдерди рдПрдкреАрдЖрдИ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдпрд╣ 703 рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИред рдирд┐рдпреЛрд╡рд┐рдо рдЕрднреА рд╕рдВрд╕реНрдХрд░рдг 704 рдХреЗ рд░реВрдк рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдо рдХреЗ 7.4 рдкрд╛рдпрдерди рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рд╣реИ (рдирд┐рдпреЛрд╡рд┐рдо рдкрд░ рдЪрд░реНрдЪрд╛ рджреЗрдЦреЗрдВ) /neovim#1898), рдЬрд┐рд╕рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрд┐рдВрджреЗрд╡рд▓ рд╡рд┐рдзрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИред рдкреЙрд╡рд░рд▓рд╛рдЗрди рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдБрдЪ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдХреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдЕрднреА рднреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ:

Error detected while processing function PowerlinePyeval..provider#python#Call:
line    1:
NameError("name 'powerline' is not defined",)

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ "рдкрд╛рд╡рд░рд▓рд╛рдЗрди" рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред :py import sys; print sys.path рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рд╣реА рд░рд╛рд╕реНрддреЗ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдореИрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╢рд┐рдХрд╛рдпрдд рдХреЗ :py import powerline рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП, рдореИрдВ рдореИрдХ рдУрдПрд╕ 10.10 рдкрд░ рдирд╡реАрдирддрдо рдирд┐рдпреЛрд╡рд┐рдо (рдПрдирд╡реАрдЖрдИрдПрдо 0.0.0-рдЕрд▓реНрдлрд╛ + 201501262108) рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ рд╣реЛрдордмреНрд░реВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рдпрдерди 2.7 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдкреАрдЖрдИрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд╡рд░рд▓рд╛рдЗрди 2.0 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЙрд╕ рдкрд░ рдПрдХ рдЗрдирд╛рдо рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ! рд╣рдо рдмрд╛рдЙрдВрдЯреАрд╕реЛрд░реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдирд╛рдо рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдмреЗрдХрд╛рд░ "+1" рдХреЗ рд╕рд╛рде рд╕реНрдкреИрдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реА рдкреЛрд╕реНрдЯ рдкрд░ рдмрд╕ "рд░рд┐рдПрдХреНрд╢рди" рдЬреАрдердм рдлреАрдЪрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВред

рд╕рднреА 23 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@abstiles powerline рдЬреЛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ рдЙрд╕рдХрд╛ powerline рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ powerline.vim.VimPowerline рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕рдХреЗ __main__ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд░рд╣рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред рдЕрдЧрд░

python foo = 1

рдХреБрдЫ _other_ рдореЗрдВ рд╡реИрд░рд┐рдПрдмрд▓ foo рдЬреЛрдбрд╝ рджреЗрдЧрд╛ рддреЛ __main__ рдореЙрдбреНрдпреВрд▓ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ рдкреБрд░рд╛рдиреЗ рд╡рд┐рдо рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ pyeval рдХреЛ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЕрдиреНрдп рддрд░реАрдХреЗ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдХрдо рд╣реЛ рд░рд╣реЗ рд╣реИрдВ (рдареАрдХ рд╣реИ, рд╡реЗ рдкрд╛рд╡рд░рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдзреАрдореЗ рдирд╣реАрдВ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдХреБрдЫ KiB рдХреЛ рдХреБрдЫ MiB рдореЗрдВ рдлрд╛рдЗрд▓ рдЯреНрд░рд╛рдВрд╕рдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдкреЙрд╡рд░рд▓рд╛рдЗрди рдЙрд╕ рдбреЗрдЯрд╛ рджрд░ рдХреЗ рдХрд░реАрдм рдХрднреА рдирд╣реАрдВ рдереА, рд▓реЗрдХрд┐рди рдбрдВрдкрд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдмрд╣реБрдд рдЕрдзрд┐рдХ рдУрд╡рд░рд╣реЗрдб рд╣реИ)ред NeoVim рд╕реЙрдХреЗрдЯ рдкрд░ msgpack рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдпрд╣ рдзреАрдорд╛ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдореИрдВ рдЬрд▓реНрдж рд╣реА рдХрд┐рд╕реА рднреА рд╕рдордп рдирд┐рдпреЛрд╡рд┐рдо рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдмрд╛рдж рд╕реЗ рд╡рд┐рдо рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рдПрдХ рдкреНрд░рдореБрдЦ рдкреБрдирд░реНрд▓реЗрдЦрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

&statusline
   \/
pyeval
   \/
тАж
   \/
segment function
   \/
vim.eval
   \/
result
   \/
displayed statusline

рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди

&statusline
  \/
:python          --------msgpack-rpc------>  тАж > segment function
                                                \/
vim_eval         <-------msgpack-rpc-------  vim.eval
  \/
eval result (C)  --------msgpack-rpc------>  result (Python)
                                                \/
displayed stl    <-------msgpack-rpc-------  segment function result

(рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ: рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдЧрдореЗрдВрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдо рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рд╣реЛрддрд╛ рд╣реИ) рдирд╣реАрдВ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдПрдХрдорд╛рддреНрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХрд╛ рдЬреЛ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ рд╣реИ

startup notification  -------msgpack-rpc------->  powerline
                                                     \/
                                                     тАж
                                                     \/
                                                  segment.startup
                                                     \/
&statusline function  <------msgpack-rpc--------  list of things needed from NeoVim
  \/
computed list of things ----------msgpack-rpc-----------------------------+
                                                                          |
&statusline                                                               |
  \/                                                                      |
:python (+computed list of things)  -------msgpack-rpc------->  renderer  |    ----->  тАж > segment function
                                                                   \/     \/                    \/
displayed statusline                <------msgpack-rpc--------  cached result                result
                                                                                                |
&statusline                                                               +---------------------+
  \/                                                                      |
:python (+computed list of things)  -------msgpack-rpc------->  renderer  |    ----->  тАж > segment function
                                                                   \/     \/                    \/
displayed statusline                <------msgpack-rpc--------  cached result                result
                                                                                                |
тАж

, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм NeoVim рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдЪреАрдЬреЛрдВ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЬрдм рдЙрдиреНрд╣реЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ рдЕрдВрддрд░рд╛рд▓ рд╣реЛрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкреНрд░рддреАрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЧрдгрдирд╛ рдХреА рдЧрдИ рдЪреАрдЬреЛрдВ рдХреЗ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдЕрдВрддрд░рд╛рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдкреБрдирд░реНрд▓реЗрдЦрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдПрдХ рд╡рд┐рдХрд▓реНрдк рднреА рд╣реИ рдЬрд╣рд╛рдВ рд╕реНрдЯреЗрдЯрд╕рд▓рд╛рдЗрди рдлрд╝рдВрдХреНрд╢рди рд▓рдЧрд╛рддрд╛рд░ рдЪреАрдЬреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкрд╛рд╡рд░рд▓рд╛рдЗрди рдкрд░ рднреЗрдЬрддрд╛ рд╣реИ рдФрд░ рдкрд╛рд╡рд░рд▓рд╛рдЗрди рд▓рдЧрд╛рддрд╛рд░ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдкрд░ &statusline рдХреЛ рдПрдХ рдЕрдкрдбреЗрдЯ рд╡рд╛рдкрд╕ рднреЗрдЬрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реЗрдЧрдореЗрдВрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреИрд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ рд╡рд┐рдо рдХреЗ рд╕рд╛рде

рд╕реВрдЪреА рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ NeoVim рдИрд╡реЗрдВрдЯ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдереЛрдбрд╝рд╛ рддреЗрдЬрд╝ рд╣реИред

рдХреНрдпрд╛ рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рди рдХрд░реЗ? рдореИрдВрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕рд╢рд░реНрдд рдХреЛ 703 рд╕реЗ 704 рддрдХ рдмрдВрдк рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЬреЛ рдХреБрдЫ рдорд┐рд▓рд╛ рд╡рд╣ рдерд╛:

Error detected while processing function provider#python#Call:
line    1:
NameError("name 'powerline' is not defined",)

рдХреЗ рдмрдЬрд╛рдп:

Error detected while processing function provider#python#Call:
line    1:
AttributeError("'Nvim' object has no attribute 'bindeval'",)
NameError("name 'powerline_setup' is not defined",)
NameError("name 'powerline_setup' is not defined",)

рдЕрдЧрд░ рдореИрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рдиреЗ hasattr(vim, 'bindeval') рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ bindeval рдХрд┐рд╕реА рднреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐, рдореИрдВ рдмрд╕ рдорд┐рд▓рддреА рд╣реИ:

Error detected while processing function provider#python#Call:
line    1:
NvimError('Key not found',)

рддреЛ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреМрди рд╕реА рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдЯреВрдЯ рдЧрдИ рд╣реИрдВ рдФрд░/рдпрд╛ <=703 рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдкрд╛рд╡рд░рд▓рд╛рдЗрди рдХреЛ рдирд┐рдпреЛрд╡рд┐рдо рдХреЗ рд╕рд╛рде рдкреБрд░рд╛рдиреЗ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдареАрдХ рд╕реЗ рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред

NeoVim рд╕рдВрд╕реНрдХрд░рдг 7.0 рд╕реЗ рднреА _not_ рдкреВрд░реНрдг рдкрд╛рдпрдерди рдПрдкреАрдЖрдИ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдкрд╛рд╡рд░рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВ рдЗрд╕реЗ рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рди рдорд╛рдк рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рдерд╛ рдФрд░ рдпрд╣ рдХреБрдЫ рдФрд░ рд╣реИ рддреЛ рдмрд╕ рдХреБрдЫ if s рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред рдпрд╛рдиреА рдирд╡рд╡рд┐рдо/рдкрд╛рдпрдерди-рдХреНрд▓рд╛рдЗрдВрдЯ # 85, рдирд┐рдпреЛрд╡рд┐рдо/рдкрд╛рдпрдерди-рдХреНрд▓рд╛рдЗрдВрдЯ # 84, рдирд┐рдпреЛрд╡рд┐рдо/рдкрд╛рдпрдерди-рдХреНрд▓рд╛рдЗрдВрдЯ # 87 рджреЗрдЦреЗрдВред

рдУрд╣ рдареАрдХ рд╣реИ, рдмрджрд╕реВрд░рддред рд▓рд┐рдВрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рдпреЛрд╡рд┐рдо рдореБрджреНрджреЛрдВ рдкрд░ рдХреЛрдИ рдирдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рджреЗрдЦреА рд╣реИред рдХреНрдпрд╛ рдирд┐рдпреЛрд╡рд┐рдо рдФрд░ рдкреЙрд╡рд░рд▓рд╛рдЗрди рдХреЗ рдмреАрдЪ рдХреЗрд╡рд▓ рдЕрдкреВрд░рдгреАрдп рдЕрдВрддрд░ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдирд┐рдпреЛрд╡рд┐рдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЙрд╡рд░рд▓рд╛рдЗрди рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИ?

рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрдИ рдЖрд╢рд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рдореБрдЭреЗ Neovim рдореЗрдВ Powerline рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдкрдиреА рдЖрд╢рд╛ рдЫреЛрдбрд╝ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдореИрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рднреА рдЕрдкрдирд╛ рд╡реЛрдЯ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ?

рдХреНрдпрд╛ рдкрд╛рд╡рд░рд▓рд╛рдЗрди рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬреЛ рдирд┐рдпреЛрд╡рд┐рдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

@phiche рдЪреЗрдХ рдЖрдЙрдЯ https://github.com/bling/vim-airline

рдЕрдЪреНрдЫрд╛! рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдзрдиреНрдпрд╡рд╛рдж @aarobc!

рдирд┐рдпреЛрд╡рд┐рдо рдФрд░ рдкреЙрд╡рд░рд▓рд╛рдЗрди рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░рдирд╛ рдмрд╣реБрдд рдХрдард┐рди рд╣реИ...
+тИЮ

@ рдХреЛрдб-рднреВрдЦ рд╡рд┐рдо-рдПрдпрд░рд▓рд╛рдЗрди рдкрд╛рд╡рд░рд▓рд╛рдЗрди рдХреЗ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ рдФрд░ рдирд┐рдпреЛрд╡рд┐рдо рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддреА рд╣реИред

@kierun рдзрдиреНрдпрд╡рд╛рдж, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдПрдпрд░рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдПрдХрдорд╛рддреНрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рдкрд╛рд╡рд░рд▓рд╛рдЗрди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмреИрд╢, рд╡реАрдЪреИрдЯ/рдЗрд░рд╕реА, рдЯреАрдПрдордпреВрдХреНрд╕, рдЖрджрд┐ рдореЗрдВ рдкрд╛рд╡рд░рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ ... рдРрд╕рд╛ рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИред

@Goddard рдЗрди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

https://github.com/edkolev/promptline.vim
https://github.com/edkolev/tmuxline.vim

рдЙрдкрд░реЛрдХреНрдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмреИрд╢, zsh, рдлрд┐рд╢ рдФрд░ tmux рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЗрдирд░реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗрдЯрд┐рд╡ рдХреЛрдб рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдмрд╛рд╣рд░реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЬреИрд╕реЗ рдкрд╛рдпрдерди рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рдПрдирд╡реАрдЖрдИрдПрдо рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд╛рд╡рд░рд▓рд╛рдЗрди рд╕рдорд░реНрдерди рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдмреЗрдХрд╛рд░ "+1" рдХреЗ рд╕рд╛рде рд╕реНрдкреИрдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реА рдкреЛрд╕реНрдЯ рдкрд░ рдмрд╕ "рд░рд┐рдПрдХреНрд╢рди" рдЬреАрдердм рдлреАрдЪрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВред

рдЗрд╕реА рддрд░рд╣, рдЖрдк рд╡рд╛рдкрд╕ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА "+1" рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПред

рддреЛ рдпрд╣ рдЕрдм 2019 (рд▓рдЧрднрдЧ 2020) рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЕрднреА рднреА рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред рдХреНрдпрд╛ рдкрд╛рд╡рд░рд▓рд╛рдЗрди рдХреЛ рдПрдирд╡реАрдЖрдИрдПрдо рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдпрд╛ рдпрд╣ рд╡рд┐рдо рдПрдХреНрд╕рдХреНрд▓реВрд╕рд┐рд╡ рд╣реИ?

@vegerot рдореИрдВрдиреЗ рд╕рджрд┐рдпреЛрдВ рдкрд╣рд▓реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдерд╛ рдФрд░ vim-airline рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдерд╛ рдЬреЛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдбреАрди рдпрд╛ рдЕрдиреНрдп рдкреНрд▓рдЧрдЗрди рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ...

5 1/2 рд╕рд╛рд▓, рдФрд░ рдЕрднреА рднреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдХреНрдпрд╛ рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ, рдпрд╛ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛?

5 1/2 рд╕рд╛рд▓, рдФрд░ рдЕрднреА рднреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдХреНрдпрд╛ рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ, рдпрд╛ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛?

рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ NeoVim рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ @ZyX-I рдХреА рдореВрд▓ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рднрд╡рд┐рд╖реНрдп рдХреЛ рд▓реЗрдХрд░ рдмрд╣реБрдд рдЖрд╢рд╛рд╡рд╛рджреА рдирд╣реАрдВ рд╣реВрдВред рд╢рд╛рдпрдж рдЗрд╕ рджреМрд░рд╛рди рдирд┐рдпреЛрд╡рд┐рдо рдиреЗ рдЕрдкрдиреЗ рдкрд╛рдпрдерди рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдмрджрд▓ рджрд┐рдпрд╛ (рдЬреЛ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛) рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рджреЗрдЦрдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ; рдпрджрд┐ рдирд╣реАрдВ рдФрд░ рдпрджрд┐ рд╡реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдмрд╣реБрдд рдЖрд╢рд╛рд╡рд╛рджреА рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ NeoVim рд╕рдорд░реНрдерди (рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛) рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрд╖рдорд╛ рдХрд░реЗрдВред

рдЕрд╕рдВрдмрдВрдзрд┐рдд: рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХреБрдЫ рдФрд░ рдкрдардиреАрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП "+1" рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдЕрдзрд┐рдХрддрд╛ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИред

рдХреНрдпрд╛ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдЫрд┐рдкрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рджреЛрдиреЛрдВ рдирд┐рдпреЛрд╡рд┐рдо рдХреЛ рдкрд╛рд╡рд░рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдо рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдХреНрдпрд╛ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдЫрд┐рдкрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рджреЛрдиреЛрдВ рдирд┐рдпреЛрд╡рд┐рдо рдХреЛ рдкрд╛рд╡рд░рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдо рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдЖрдк рдирд┐рдореНрди рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдЕрдкрдиреЗ .vimrc , рдкрд╛рд╡рд░рд▓рд╛рдЗрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдХреЛрдб рдХреЛ if !has('nvim') ... endif рдмреНрд▓реЙрдХ рдореЗрдВ рд░рдЦреЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

kataev picture kataev  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

yyandrew picture yyandrew  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

avermaet picture avermaet  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ironhouzi picture ironhouzi  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sbusch picture sbusch  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ