Neovim 0.6.0 рдЪреЗ рдкреНрд░рдХрд╛рд╢рди, Vim рд╕рдВрдкрд╛рджрдХрд╛рдЪреА рдЖрдзреБрдирд┐рдХ рдЖрд╡реГрддреНрддреА

Neovim 0.6.0 рд░рд┐рд▓реАрдЭ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, Vim рд╕рдВрдкрд╛рджрдХрд╛рдЪрд╛ рдПрдХ рдХрд╛рдЯрд╛ рд╡рд┐рд╕реНрддрд╛рд░рддрд╛ рдЖрдгрд┐ рд▓рд╡рдЪрд┐рдХрддрд╛ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╡рд░ рдХреЗрдВрджреНрд░рд┐рдд рдЖрд╣реЗ. рдкреНрд░рдХрд▓реНрдк рд╕рд╛рдд рд╡рд░реНрд╖рд╛рдВрд╣реВрди рдЕрдзрд┐рдХ рдХрд╛рд│ рд╡рд┐рдо рдХреЛрдб рдмреЗрд╕рд╡рд░ рдкреБрдиреНрд╣рд╛ рдХрд╛рдо рдХрд░рдд рдЖрд╣реЗ, рдкрд░рд┐рдгрд╛рдореА рдХреЛрдб рдореЗрдВрдЯреЗрдирдиреНрд╕ рд╕реБрд▓рдн рдХрд░рдгрд╛рд░реЗ рдмрджрд▓ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рдЕрдиреЗрдХ рдореЗрдВрдЯреЗрдирд░реНрд╕рдордзреНрдпреЗ рд╢реНрд░рдо рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреЗ рд╕рд╛рдзрди рдкреНрд░рджрд╛рди рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЗрдВрдЯрд░рдлреЗрд╕рд▓рд╛ рдмреЗрд╕ рднрд╛рдЧрд╛рдкрд╛рд╕реВрди рд╡реЗрдЧрд│реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ (рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реЗ рдЕрд╕реВ рд╢рдХрддреЗ. рдЕрдВрддрд░реНрдЧрдд рднрд╛рдЧрд╛рдВрдирд╛ рд╕реНрдкрд░реНрд╢ рди рдХрд░рддрд╛ рдмрджрд▓рд▓реЗ) рдЖрдгрд┐ рдкреНрд▓рдЧрдЗрдирд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдирд╡реАрди рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд▓рд╛рдЧреВ рдХрд░рд╛. рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдореВрд│ рдШрдбрд╛рдореЛрдбреА Apache 2.0 рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░реАрдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдореВрд│ рднрд╛рдЧ рд╡рд┐рдо рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░реАрдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. Linux (appimage), Windows рдЖрдгрд┐ macOS рд╕рд╛рдареА рддрдпрд╛рд░ рдЕрд╕реЗрдВрдмреНрд▓реА рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.

Vim рдордзреАрд▓ рд╕рдорд╕реНрдпрд╛рдВрдкреИрдХреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЬреНрдпрд╛рдиреЗ Neovim рдЪреНрдпрд╛ рдирд┐рд░реНрдорд┐рддреАрд╕ рдкреНрд░рд╡реГрддреНрдд рдХреЗрд▓реЗ рддреЗ рдореНрд╣рдгрдЬреЗ рддреНрдпрд╛рдЪрд╛ рдлреБрдЧрд▓реЗрд▓рд╛, рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рдХреЛрдб рдмреЗрд╕, рдЬреНрдпрд╛рдордзреНрдпреЗ C (C300) рдХреЛрдбрдЪреНрдпрд╛ 89 рд╣рдЬрд╛рд░ рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдУрд│реА рдЖрд╣реЗрдд. рдХреЗрд╡рд│ рдХрд╛рд╣реА рд▓реЛрдХрд╛рдВрдирд╛ рд╡рд┐рдо рдХреЛрдбрдмреЗрд╕рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдмрд╛рд░рдХрд╛рд╡реЗ рд╕рдордЬрддрд╛рдд рдЖрдгрд┐ рд╕рд░реНрд╡ рдмрджрд▓ рдПрдХрд╛ рдореЗрдВрдЯреЗрдирд░рджреНрд╡рд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рдЬреНрдпрд╛рдореБрд│реЗ рд╕рдВрдкрд╛рджрдХ рд░рд╛рдЦрдгреЗ рдЖрдгрд┐ рд╕реБрдзрд╛рд░рдгреЗ рдХрдареАрдг рд╣реЛрддреЗ. GUI рд▓рд╛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Vim core рдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреЛрдбрдРрд╡рдЬреА, Neovim рдиреЗ рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд▓ рд▓реЗрдпрд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рд▓рд╛ рдЖрд╣реЗ рдЬреЛ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рд╡рд┐рдз рдЯреВрд▓рдХрд┐рдЯ рд╡рд╛рдкрд░реВрди рдЗрдВрдЯрд░рдлреЗрд╕ рддрдпрд╛рд░ рдХрд░реВ рджреЗрддреЛ.

Neovim рд╕рд╛рдареА рдкреНрд▓рдЧрдЗрди рд╕реНрд╡рддрдВрддреНрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореНрд╣рдгреВрди рд▓рд╛рдБрдЪ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рдЬреНрдпрд╛рдЪреНрдпрд╛рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА MessagePack рдлреЙрд░рдореЕрдЯ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ. рд╕рдВрдкрд╛рджрдХрд╛рдЪреНрдпрд╛ рдореВрд▓рднреВрдд рдШрдЯрдХрд╛рдВрдирд╛ рдЕрд╡рд░реЛрдзрд┐рдд рди рдХрд░рддрд╛ рдкреНрд▓рдЧрдЗрдирд╕рд╣ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдкреНрд▓рдЧрдЗрдирдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдПрдХ TCP рд╕реЙрдХреЗрдЯ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдЙрджрд╛. рдкреНрд▓рдЧрдЗрди рдмрд╛рд╣реНрдп рдкреНрд░рдгрд╛рд▓реАрд╡рд░ рдЪрд╛рд▓рд╡рддрд╛ рдпреЗрддреЗ. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, Neovim Vim рд╢реА рд╕реБрд╕рдВрдЧрдд рд░рд╛рд╣рддреЗ, Vimscript рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдд рд░рд╛рд╣рддреЗ (Lua рдПрдХ рдкрд░реНрдпрд╛рдп рдореНрд╣рдгреВрди рдСрдлрд░ рдХреЗрд▓реА рдЬрд╛рддреЗ) рдЖрдгрд┐ рдмрд╣реБрддреЗрдХ рдорд╛рдирдХ Vim рдкреНрд▓рдЧрдЗрдирд╕рд╛рдареА рдХрдиреЗрдХреНрд╢рдирдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ. Neovim рдЪреА рдкреНрд░рдЧрдд рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ Neovim-рд╡рд┐рд╢рд┐рд╖реНрдЯ API рд╡рд╛рдкрд░реВрди рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд▓рдЧрдЗрдирдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдК рд╢рдХрддрд╛рдд.

рд╕рдзреНрдпрд╛, рд╕реБрдорд╛рд░реЗ 130 рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓рдЧрдЗрди рдЖрдзреАрдЪ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд, рдкреНрд▓рдЧрдЗрди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╡рд┐рд╡рд┐рдз рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) рдЖрдгрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ (Qt, ncurses, Node .js, Electron, GTK). рдЕрдиреЗрдХ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░реНрдпрд╛рдп рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдд рдЖрд╣реЗрдд. GUI рдЕреЕрдб-рдСрди рд╣реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕рд╕рд╛рд░рдЦреЗ рдЕрд╕рддрд╛рдд, рдкрд░рдВрддреБ рдкреНрд▓рдЧрдЗрдиреНрд╕рдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, рддреЗ рдирд┐рдУрд╡рд┐рдо рдлрдВрдХреНрд╢рдиреНрд╕рд╡рд░ рдХреЙрд▓ рд╕реБрд░реВ рдХрд░рддрд╛рдд, рддрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдирд┐рдУрд╡рд┐рдордордзреВрди рдХреЙрд▓ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.

рдирд╡реАрди рдЖрд╡реГрддреНрддреАрддреАрд▓ рдХрд╛рд╣реА рдмрджрд▓:

  • рд╕реНрдерд╛рдирд┐рдХ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рд╕рд╛рдареА рд╕рдорд░реНрдерди vim рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЬреНрдпрд╛рдЪреА рд╡реНрдпрд╛рдкреНрддреА рдлрдХреНрдд рд╡рд░реНрддрдорд╛рди рд╕реНрдХреНрд░рд┐рдкреНрдЯрджреНрд╡рд╛рд░реЗ рдорд░реНрдпрд╛рджрд┐рдд рдЖрд╣реЗ.
  • рдкреНрд▓рдЧрдЗрди рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд╛рд╕рд╛рдареА рд▓рдХреНрд╖рдгреАрдп рд╕реБрдзрд╛рд░рд┐рдд рд▓реБрдЖ рднрд╛рд╖рд╛ рд╕рдорд░реНрдерди. vim рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕рдордзреНрдпреЗ, Lua рдлрдВрдХреНрд╢рдиреНрд╕рдирд╛ рдкрджреНрдзрддреА рдореНрд╣рдгреВрди рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ v:lua рдЙрдкрд╕рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВрди рдЬреЛрдбрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, тАЬarg1->v:lua.somemod.func(arg2)тАЭ).
  • рдЕрдВрдЧрднреВрдд LSP рдХреНрд▓рд╛рдпрдВрдЯ (рднрд╛рд╖рд╛ рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рдЪреНрдпрд╛ рдХреНрд╖рдорддрд╛рдВрдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░ рдЖрдгрд┐ рдХреЛрдб рдкреВрд░реНрдгрддрд╛ рдмрд╛рд╣реНрдп рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. LSP рдЪрд╛ рд╡рд╛рдкрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдУ рдХреЛрдб рдПрдбрд┐рдЯрд░рд╕рд╛рдареА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рд╡рд┐рдз рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрд╕рд╛рдареА 150 рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд░реЗрдбреАрдореЗрдб рд╣рдБрдбрд▓рд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ.
  • рдХреЛрдбрдордзреАрд▓ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реБрдзрд╛рд░рд┐рдд рд╕рд╛рдзрдиреЗ. рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рд╕рдВрджреЗрд╢рд╛рдВрдЪрд╛ рдордЬрдХреВрд░ рдЖрдгрд┐ рдЕрд╢рд╛ рд╕рдВрджреЗрд╢рд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдбрд╕рд╣ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА. LSP рд╕рд░реНрд╡реНрд╣рд░рджреНрд╡рд╛рд░реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдирд┐рджрд╛рди рд╕рдВрджреЗрд╢рд╛рдВрдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рджрд╛рди рдХреЗрд▓реА рдЬрд╛рддреЗ.
  • рд╡рд░реНрдЪреНрдпреБрдЕрд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ, рдЬреЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕реЗрд╡рд╛ рдорд╛рд╣рд┐рддреАрд╕рд╣ рдмреНрд▓реЙрдХреНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА.
  • рд╡рд┐рд╡рд┐рдз рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╣рд╛рдпрд▓рд╛рдЗрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЧрдЯ рдирд╛рд╡рд╛рдВрд╕рд╛рдареА рд╣реЕрд╢ рдЯреЗрдмрд▓ рд╕рдХреНрд╖рдо рдХреЗрд▓реЗ рдЖрд╣реЗ.
  • Windows рдЪреНрдпрд╛ Windows 7 рдЖрдгрд┐ 32-рдмрд┐рдЯ рдмрд┐рд▓реНрдбрд╕рд╛рдареА рд╕рдорд░реНрдерди рдмрдВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛