Tso tawm ntawm Neovim 0.6.0, ib qho kev hloov kho tshiab ntawm Vim editor

Neovim 0.6.0 tau raug tso tawm, ib rab diav rawg ntawm Vim editor tsom mus rau kev nthuav dav ntxiv thiab yoog raws. Qhov project tau rov ua dua Vim li cas code puag rau ntau tshaj xya xyoo, vim tias qhov kev hloov pauv tau ua kom yooj yim rau kev tswj hwm txoj cai, muab kev faib ua haujlwm ntawm ntau tus neeg saib xyuas, cais lub interface los ntawm lub hauv paus ib feem (lub interface tuaj yeem ua tau. hloov tsis tau kov lub internals) thiab siv ib tug tshiab extensible architecture raws li plugins. Thawj qhov kev txhim kho ntawm txoj haujlwm tau muab faib raws li Apache 2.0 daim ntawv tso cai, thiab qhov tseem ceeb yog faib raws li Daim ntawv tso cai Vim. Cov rooj sib txoos npaj tau npaj rau Linux (appimage), Windows thiab macOS.

Ib qho ntawm cov teeb meem nrog Vim uas tau ua rau kev tsim ntawm Neovim yog nws bloated, monolithic code puag, muaj ntau tshaj 300 txhiab kab ntawm C (C89) code. Tsuas yog ob peb tus neeg nkag siab tag nrho cov nuances ntawm Vim codebase, thiab tag nrho cov kev hloov pauv yog tswj los ntawm ib tus neeg saib xyuas, uas ua rau nws nyuaj rau kev tswj hwm thiab txhim kho cov neeg kho. Hloov chaw ntawm txoj cai tsim rau hauv Vim core los txhawb GUI, Neovim tawm tswv yim siv cov txheej txheem thoob ntiaj teb uas tso cai rau koj los tsim kev sib tshuam siv ntau yam khoom siv.

Plugins rau Neovim tau pib ua cov txheej txheem cais, rau kev sib cuam tshuam uas siv MessagePack hom. Kev sib cuam tshuam nrog plugins yog ua tiav asynchronously, tsis thaiv cov ntsiab lus ntawm tus editor. Txhawm rau nkag mus rau lub plugin, lub qhov (socket) TCP tuaj yeem siv tau, piv txwv li. lub plugin tuaj yeem khiav ntawm qhov system sab nraud. Nyob rau tib lub sijhawm, Neovim tseem rov qab sib haum nrog Vim, txuas ntxiv txhawb Vimscript (Lua yog muab los ua lwm txoj hauv kev) thiab txhawb kev sib txuas rau feem ntau tus qauv Vim plugins. Neovim cov yam ntxwv siab heev tuaj yeem siv tau hauv plugins tsim siv Neovim-specific APIs.

Tam sim no, txog 130 qhov tshwj xeeb plugins twb tau npaj lawm, kev khi muaj nyob rau hauv kev tsim plugins thiab kev siv interfaces siv ntau hom lus programming ​​(C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) thiab lub moj khaum (Qt, ncurses, Node .js, Electron, GTK). Muaj ob peb tus neeg siv interface xaiv tau raug tsim. GUI add-ons zoo li plugins, tab sis tsis zoo li plugins, lawv pib hu rau Neovim ua haujlwm, thaum plugins raug hu los ntawm hauv Neovim.

Qee qhov kev hloov pauv hauv qhov tshiab version:

  • Π’ vim-скрипты Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ скриптом.
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° языка Lua для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ. Π’ vim-скриптах Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Π° Lua-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ прСфикса v:lua (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«arg1->v:lua.somemod.func(arg2)Β»).
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности встроСнного LSP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Language Server Protocol), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для выноса Π»ΠΎΠ³ΠΈΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ автодополнСния ΠΊΠΎΠ΄Π° Π½Π° внСшниС сСрвСры. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ LSP позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 150 Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков программирования, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… для Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° Visual Studio Code.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Ρ‹ срСдства диагностики ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² ΠΊΠΎΠ΄Π΅. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° тСкста диагностичСских сообщСний ΠΈ ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½ с ΠΊΠΎΠ΄ΠΎΠΌ, связанным с ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ сообщСниями. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° диагностичСских сообщСний, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… LSP-сСрвСром.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π²Ρ‹Π²ΠΎΠ΄Π° Π±Π»ΠΎΠΊΠΎΠ² со слуТСбной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.
  • ВнСсСны Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, задСйствована Ρ…ΡΡˆ Ρ‚Π°Π±Π»ΠΈΡ†Π° для подсвСчиваСмых ΠΈΠΌΡ‘Π½ Π³Ρ€ΡƒΠΏΠΏ.
  • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Windows 7 ΠΈ 32-разрядных сборок для Windows.

Tau qhov twg los: opennet.ru

Ntxiv ib saib