Vim எடிட்டரின் நவீனமயமாக்கப்பட்ட பதிப்பான Neovim 0.6.0 வெளியீடு

Neovim 0.6.0 வெளியிடப்பட்டது, விம் எடிட்டரின் ஃபோர்க் நீட்டிப்பு மற்றும் நெகிழ்வுத்தன்மையை அதிகரிப்பதில் கவனம் செலுத்துகிறது. இந்த திட்டம் ஏழு ஆண்டுகளுக்கும் மேலாக விம் குறியீடு தளத்தை மறுவேலை செய்து வருகிறது, இதன் விளைவாக குறியீடு பராமரிப்பை எளிதாக்கும் மாற்றங்கள் செய்யப்படுகின்றன, பல பராமரிப்பாளர்களிடையே உழைப்பைப் பிரிப்பதற்கான வழிமுறையை வழங்குகின்றன, அடிப்படை பகுதியிலிருந்து இடைமுகத்தை பிரிக்கலாம் (இடைமுகம் இருக்கலாம் உட்புறங்களைத் தொடாமல் மாற்றப்பட்டது) மற்றும் செருகுநிரல்களின் அடிப்படையில் ஒரு புதிய விரிவாக்கக்கூடிய கட்டமைப்பை செயல்படுத்தவும். திட்டத்தின் அசல் மேம்பாடுகள் Apache 2.0 உரிமத்தின் கீழ் விநியோகிக்கப்படுகின்றன, மேலும் அடிப்படை பகுதி Vim உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது. Linux (appimage), Windows மற்றும் macOS ஆகியவற்றிற்காக ஆயத்தமான அசெம்பிளிகள் தயாரிக்கப்படுகின்றன.

நியோவிமின் உருவாக்கத்தைத் தூண்டிய விம்மில் உள்ள சிக்கல்களில் ஒன்று, அதன் வீங்கிய, ஒற்றைக்கல் குறியீட்டுத் தளமாகும், இது 300 ஆயிரத்துக்கும் மேற்பட்ட சி (சி89) குறியீட்டைக் கொண்டுள்ளது. விம் கோட்பேஸின் அனைத்து நுணுக்கங்களையும் ஒரு சிலர் மட்டுமே புரிந்துகொள்கிறார்கள், மேலும் அனைத்து மாற்றங்களும் ஒரு பராமரிப்பாளரால் கட்டுப்படுத்தப்படுகின்றன, இது எடிட்டரைப் பராமரிப்பதையும் மேம்படுத்துவதையும் கடினமாக்குகிறது. GUI ஐ ஆதரிக்க Vim மையத்தில் கட்டமைக்கப்பட்ட குறியீட்டிற்குப் பதிலாக, பல்வேறு கருவித்தொகுப்புகளைப் பயன்படுத்தி இடைமுகங்களை உருவாக்க உங்களை அனுமதிக்கும் உலகளாவிய அடுக்கைப் பயன்படுத்தி 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 ஆட்-ஆன்கள் செருகுநிரல்களைப் போலவே இருக்கின்றன, ஆனால் செருகுநிரல்களைப் போலன்றி, அவை Neovim செயல்பாடுகளுக்கு அழைப்புகளைத் தொடங்குகின்றன, அதே நேரத்தில் செருகுநிரல்கள் Neovim க்குள் இருந்து அழைக்கப்படுகின்றன.

புதிய பதிப்பில் சில மாற்றங்கள்:

  • உள்ளூர் மாறிகளுக்கான ஆதரவு விம் ஸ்கிரிப்ட்களில் சேர்க்கப்பட்டுள்ளது, இதன் நோக்கம் தற்போதைய ஸ்கிரிப்ட்டால் மட்டுமே வரையறுக்கப்பட்டுள்ளது.
  • செருகுநிரல் மேம்பாடு மற்றும் உள்ளமைவு மேலாண்மைக்கு குறிப்பிடத்தக்க வகையில் மேம்படுத்தப்பட்ட Lua மொழி ஆதரவு. விம் ஸ்கிரிப்ட்களில், v:lua முன்னொட்டைக் குறிப்பிடுவதன் மூலம் Lua செயல்பாடுகளை முறைகளாக அழைக்கும் திறன் சேர்க்கப்பட்டுள்ளது (எடுத்துக்காட்டாக, “arg1->v:lua.somemod.func(arg2)”).
  • உள்ளமைக்கப்பட்ட LSP கிளையண்டின் (மொழி சேவையக நெறிமுறை) திறன்கள் விரிவாக்கப்பட்டுள்ளன, இது பகுப்பாய்வு தர்க்கம் மற்றும் குறியீட்டை நிறைவு செய்வதை வெளிப்புற சேவையகங்களுக்கு மாற்ற பயன்படுகிறது. LSP இன் பயன்பாடு விஷுவல் ஸ்டுடியோ கோட் எடிட்டருக்குத் தயாரிக்கப்பட்ட பல்வேறு நிரலாக்க மொழிகளுக்கு 150 க்கும் மேற்பட்ட ஆயத்த கையாளுதல்களைப் பயன்படுத்த உங்களை அனுமதிக்கிறது.
  • குறியீட்டில் உள்ள சிக்கல்களைக் கண்டறிவதற்கான மேம்படுத்தப்பட்ட கருவிகள். கண்டறியும் செய்திகளின் உரையையும், அத்தகைய செய்திகளுடன் தொடர்புடைய குறியீட்டுடன் மிதக்கும் சாளரங்களையும் காண்பிக்கும் திறனைச் சேர்த்தது. LSP சேவையகத்தால் அனுப்பப்படும் கண்டறியும் செய்திகளின் செயலாக்கம் வழங்கப்படுகிறது.
  • மெய்நிகர் சரங்களுக்கான ஆதரவு சேர்க்கப்பட்டது, எடுத்துக்காட்டாக, சேவைத் தகவலுடன் தொகுதிகளைக் காண்பிக்க இதைப் பயன்படுத்தலாம்.
  • பல்வேறு செயல்திறன் மேம்படுத்தல்கள் செய்யப்பட்டுள்ளன, எடுத்துக்காட்டாக, தனிப்படுத்தப்பட்ட குழுப் பெயர்களுக்கு ஹாஷ் அட்டவணை இயக்கப்பட்டுள்ளது.
  • விண்டோஸின் விண்டோஸ் 7 மற்றும் 32-பிட் உருவாக்கங்களுக்கான ஆதரவு நிறுத்தப்பட்டது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்