Neovim 0.7.0 рдХреЛ рд░рд┐рд▓реАрдЬ, Vim рд╕рдореНрдкрд╛рджрдХрдХреЛ рдЖрдзреБрдирд┐рдХ рд╕рдВрд╕реНрдХрд░рдг

Neovim 0.7.0 рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдЫ, Vim рд╕рдореНрдкрд╛рджрдХрдХреЛ рдлреЛрд░реНрдХ рд╡рд┐рд╕реНрддрд╛рд░ рд░ рд▓рдЪрд┐рд▓реЛрдкрди рдмрдврд╛рдЙрдирдорд╛ рдХреЗрдиреНрджреНрд░рд┐рдд рдЫред рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓реЗ рд╕рд╛рдд рд╡рд░реНрд╖ рднрдиреНрджрд╛ рдмрдвреАрдХреЛ рд▓рд╛рдЧрд┐ Vim рдХреЛрдб рдЖрдзрд╛рд░ рдкреБрди: рдХрд╛рд░реНрдп рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ, рдЬрд╕рдХреЛ рдкрд░рд┐рдгрд╛рдо рд╕реНрд╡рд░реВрдк рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдмрдирд╛рдЗрдиреНрдЫ рдЬрд╕рд▓реЗ рдХреЛрдб рдорд░реНрдорддрд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрдБрдЫ, рдзреЗрд░реИ рдорд░реНрдорддрдХрд░реНрддрд╛рд╣рд░реВ рдмреАрдЪ рд╢реНрд░рдо рд╡рд┐рднрд╛рдЬрди рдЧрд░реНрдиреЗ рдорд╛рдзреНрдпрдо рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рдЗрдиреНрдЯрд░рдлреЗрд╕рд▓рд╛рдИ рдЖрдзрд╛рд░ рднрд╛рдЧрдмрд╛рдЯ рдЕрд▓рдЧ рдЧрд░реНрджрдЫ (рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╣реБрди рд╕рдХреНрдЫред рдЖрдиреНрддрд░рд┐рдХрд╣рд░реВрд▓рд╛рдИ рдирдЫреЛрдЗрдХрди рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░рд┐рдпреЛ) рд░ рдкреНрд▓рдЧрдЗрдирд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдирдпрд╛рдБ рдПрдХреНрд╕реНрдЯреЗрдиреНрд╕рд┐рдмрд▓ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдореМрд▓рд┐рдХ рд╡рд┐рдХрд╛рд╕рд╣рд░реВ Apache 2.0 рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫ, рд░ рдЖрдзрд╛рд░рднреВрдд рднрд╛рдЧ Vim рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред рд▓рд┐рдирдХреНрд╕ (appimage), рд╡рд┐рдиреНрдбреЛрдЬ рд░ macOS рдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░-рдмрдирд╛рдЗрдПрдХрд╛ рд╕рдореНрдореЗрд▓рдирд╣рд░реВ рддрдпрд╛рд░ рдЫрдиреНред

Vim рдХреЛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рдЬрд╕рд▓реЗ Neovim рдХреЛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдкреНрд░реЗрд░рд┐рдд рдЧрд░реНтАНрдпреЛ рдпрд╕рдХреЛ рдлреВрд▓реЗрдХреЛ, рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рдХреЛрдб рдЖрдзрд╛рд░ рдерд┐рдпреЛ, рдЬрд╕рдорд╛ C (C300) рдХреЛрдбрдХреЛ 89 рд╣рдЬрд╛рд░ рднрдиреНрджрд╛ рдмрдвреА рд▓рд╛рдЗрдирд╣рд░реВ рдерд┐рдПред рдХреЗрд╡рд▓ рдХреЗрд╣рд┐ рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрд▓реЗ Vim рдХреЛрдбрдмреЗрд╕рдХрд╛ рд╕рдмреИ рд╕реВрдХреНрд╖реНрдорддрд╛рд╣рд░реВ рдмреБрдЭреНрджрдЫрдиреН, рд░ рд╕рдмреИ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдПрдХ рд░рдЦрд░рдЦрд╛рд╡рдХрд░реНрддрд╛рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдиреНрддреНрд░рд┐рдд рд╣реБрдиреНрдЫрдиреН, рдЬрд╕рд▓реЗ рд╕рдореНрдкрд╛рджрдХрд▓рд╛рдИ рдХрд╛рдпрдо рд░рд╛рдЦреНрди рд░ рд╕реБрдзрд╛рд░ рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рдмрдирд╛рдЙрдБрдЫред GUI рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди Vim рдХреЛрд░рдорд╛ рдирд┐рд░реНрдорд┐рдд рдХреЛрдбрдХреЛ рд╕рдЯреНрдЯрд╛, Neovim рд▓реЗ рдПрдХ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рддрд╣ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрджрдЫ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рднрд┐рдиреНрди рдЯреВрд▓рдХрд┐рдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

Neovim рдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд▓рдЧрдЗрдирд╣рд░реВ MessagePack рдврд╛рдБрдЪрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рдХрд╛ рд▓рд╛рдЧрд┐ рдЫреБрдЯреНрдЯреИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рд░реВрдкрдорд╛ рд╕реБрд░реВ рдЧрд░рд┐рдиреНрдЫред рд╕рдореНрдкрд╛рджрдХрдХреЛ рдЖрдзрд╛рд░рднреВрдд рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рдЕрд╡рд░реБрджреНрдз рдирдЧрд░реАрдХрди рдкреНрд▓рдЧрдЗрдирд╣рд░реВрд╕рдБрдЧрдХреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рд░реВрдкрдорд╛ рдЧрд░рд┐рдиреНрдЫред рдкреНрд▓рдЧрдЗрди рдкрд╣реБрдБрдЪ рдЧрд░реНрди, рдПрдХ TCP рд╕рдХреЗрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдЕрд░реНрдерд╛рддреНред рдкреНрд▓рдЧрдЗрди рдмрд╛рд╣реНрдп рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдЪрд▓рд╛рдЙрди рд╕рдХрд┐рдиреНрдЫред рдЙрд╣реА рд╕рдордпрдорд╛, Neovim Vim рд╕рдБрдЧ рдкрдЫрд╛рдбреА рдорд┐рд▓реНрджреЛ рд░рд╣рдиреНрдЫ, Vimscript рд╕рдорд░реНрдерди рдЧрд░реНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдЫ (Lua рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдкрдорд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫ) рд░ рдзреЗрд░реИ рдорд╛рдирдХ Vim рдкреНрд▓рдЧрдЗрдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЬрдбрд╛рдирд╣рд░реВ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред Neovim рдХреЛ рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ Neovim-рд╡рд┐рд╢реЗрд╖ APIs рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдирд┐рд░реНрдорд┐рдд рдкреНрд▓рдЧрдЗрдирд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рд╣рд╛рд▓, рд▓рдЧрднрдЧ 130 рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдиреИ рддрдпрд╛рд░ рднрдЗрд╕рдХреЗрдХрд╛ рдЫрдиреН, рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВ (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) рд░ рдлреНрд░реЗрдорд╡рд░реНрдХрд╣рд░реВ (Qt, ncurses, Node .js, Electron, GTK)ред рдзреЗрд░реИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рднрдЗрд░рд╣реЗрдХреЛ рдЫред GUI рдПрдб-рдЕрдирд╣рд░реВ рдзреЗрд░реИ рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдЬрд╕реНрддреИ рдЫрдиреН, рддрд░ рдкреНрд▓рдЧрдЗрдирд╣рд░реВрдХреЛ рд╡рд┐рдкрд░реАрдд, рддрд┐рдиреАрд╣рд░реВрд▓реЗ Neovim рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рдХрд▓рд╣рд░реВ рд╕реБрд░реБ рдЧрд░реНрдЫрдиреН, рдЬрдмрдХрд┐ рдкреНрд▓рдЧрдЗрдирд╣рд░реВ Neovim рднрд┐рддреНрд░рдмрд╛рдЯ рдмреЛрд▓рд╛рдЗрдиреНрдЫред

рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрд▓реЗ рдЯрд╛рдврд╛рдХреЛ рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕рд░реНрднрд░рдорд╛ Neovim рдЪрд▓рд╛рдЙрди рд░ рдЫреБрдЯреНрдЯреИ ui_client рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХреНрд▓рд╛рдЗрдиреНрдЯ рдкреНрд░рдгрд╛рд▓реАрдмрд╛рдЯ рдЬрдбрд╛рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреН: рдкрд╛рдЗрдерди 2 рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдмрдиреНрдж рдЧрд░рд┐рдПрдХреЛ рдЫ, рдХреАрдореНрдпрд╛рдкрдорд╛ рд▓реБрдЖ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдПрдХреЛ рдЫ, API рдорд╛ рдирдпрд╛рдБ рдЖрджреЗрд╢рд╣рд░реВ рдердкрд┐рдПрдХреЛ рдЫ, рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХреЛ рд╡рд┐рдХрд╛рд╕рдХреЛ рд▓рд╛рдЧрд┐ рд▓реБрдЖ рднрд╛рд╖рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛рд▓рд╛рдИ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдкрдорд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдХреЛрдбрдорд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рдирд┐рджрд╛рдирдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдХрд░рдгрд╣рд░реВ рд╕реБрдзрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рд╕реНрдерд┐рддрд┐ рдкрдЯреНрдЯреАрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдПрдХреЛ рдЫ, рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рдирд╣рд░реВ рдЧрд░рд┐рдПрдХреЛ рдЫред рдмрд┐рд▓реНрдЯ-рдЗрди LSP рдХреНрд▓рд╛рдЗрдиреНрдЯ (рднрд╛рд╖рд╛ рд╕рд░реНрднрд░ рдкреНрд░реЛрдЯреЛрдХрд▓) рдХреЛ рдХреНрд╖рдорддрд╛рд╣рд░реВ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬреБрди рдмрд╛рд╣реНрдп рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рддрд░реНрдХ рд░ рдХреЛрдб рдкреВрд░реНрдгрддрд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди