రెండు సంవత్సరాల అభివృద్ధి తర్వాత, Vim 9.2 టెక్స్ట్ ఎడిటర్ విడుదల చేయబడింది. Vim యొక్క కోడ్ దాని స్వంత కాపీలెఫ్ట్ లైసెన్స్ కింద పంపిణీ చేయబడింది, GPL తో అనుకూలంగా ఉంటుంది, ఇది కోడ్ యొక్క అపరిమిత ఉపయోగం, పంపిణీ మరియు పునర్వినియోగాన్ని అనుమతిస్తుంది. Vim లైసెన్స్ యొక్క ముఖ్య లక్షణం రివర్షన్ నిబంధన: మూడవ పక్ష ఉత్పత్తులలో అమలు చేయబడిన మెరుగుదలలు Vim నిర్వహణదారు వాటిని శ్రద్ధకు అర్హమైనవిగా భావించి అభ్యర్థనను సమర్పిస్తే వాటిని అసలు ప్రాజెక్ట్కు తిరిగి ఇవ్వాలి. Vim ఛారిటీవేర్గా పంపిణీ చేయబడుతుంది, అంటే ప్రోగ్రామ్ను విక్రయించడానికి లేదా ప్రాజెక్ట్ కోసం విరాళాలను సేకరించడానికి బదులుగా, వినియోగదారు ప్రోగ్రామ్ను ఆస్వాదిస్తే Vim రచయితలు ఏదైనా మొత్తంలో విరాళాలను ఛారిటీకి అభ్యర్థిస్తారు.
ప్రధాన మెరుగుదలలు:
- వేలాండ్ ప్రోటోకాల్కు మద్దతు ఇవ్వడానికి గ్రాఫికల్ ఇంటర్ఫేస్ (gvim) నవీకరించబడింది, వేలాండ్-ఆధారిత వాతావరణాలలో క్లిప్బోర్డ్ను ఉపయోగించగల సామర్థ్యం కూడా ఉంది.
- Unix-వంటి వ్యవస్థలలో, Freedesktop.org XDG బేస్ డైరెక్టరీ స్పెసిఫికేషన్కు మద్దతు మరియు సెట్టింగ్లను నిల్వ చేయడానికి "~/.config/vim" డైరెక్టరీని ఉపయోగించగల సామర్థ్యం అమలు చేయబడ్డాయి.
- వినియోగదారు ఇంటర్ఫేస్లో నిలువు (సైడ్) ట్యాబ్ ప్యానెల్ (ట్యాబ్ప్యానెల్) ఉంటుంది, దీనిని క్షితిజ సమాంతర టాప్ ప్యానెల్కు ప్రత్యామ్నాయంగా ఉపయోగించవచ్చు.
- విండోస్ గ్రాఫికల్ ఇంటర్ఫేస్ ఇప్పుడు మెనూలు మరియు హెడర్ల కోసం డార్క్ మోడ్కు మద్దతు ఇస్తుంది. పూర్తి-స్క్రీన్ మోడ్కు మద్దతు మెరుగుపరచబడింది మరియు అధిక-నాణ్యత టూల్బార్ చిహ్నాలు జోడించబడ్డాయి.
- ఇన్సర్ట్ మోడ్లోని ఆటోకంప్లీషన్ మెకానిజం ఇప్పుడు ఉజ్జాయింపు శోధనలకు మద్దతు ఇస్తుంది, ఇది ఖచ్చితమైన సరిపోలికలను అనుమతిస్తుంది (ఉదాహరణకు, తప్పుగా వ్రాయబడిన పదాల కోసం). రిజిస్టర్లలో నిల్వ చేయబడిన పదాలను నేరుగా పూర్తి చేసే సామర్థ్యం కూడా అమలు చేయబడింది (CTRL-X CTRL-R కలయిక Vim యొక్క రిజిస్టర్లలో నిల్వ చేయబడిన పదాలను చొప్పించడానికి మెనుని ప్రదర్శిస్తుంది). "completeopt" పరామితి ఇప్పుడు కింది ఫ్లాగ్లకు మద్దతు ఇస్తుంది: సూచన జాబితా యొక్క క్రమబద్ధీకరణను నిలిపివేయడానికి "nosort" మరియు కర్సర్ దగ్గర పదాలకు ప్రాధాన్యత ఇవ్వడానికి "సమీపమైనది".
- ఇంటరాక్టివ్ లెర్నింగ్ కోసం అంతర్నిర్మిత ప్లగిన్ (":Tutor") చేర్చబడింది, ఇది సమాచారాన్ని స్పష్టంగా ప్రదర్శిస్తుంది, అంతరాయం కలిగించిన పని నుండి నేర్చుకోవడాన్ని తిరిగి ప్రారంభించడానికి మిమ్మల్ని అనుమతిస్తుంది మరియు ఆదేశాల సరైన అమలును తనిఖీ చేయగలదు.
- స్క్రిప్టింగ్ భాషలో ఇప్పుడు ఎన్యూమరేషన్లు (Enum), జెనరిక్ ఫంక్షన్లు (Generic) మరియు టుపుల్స్ (Tuple) లకు అంతర్నిర్మిత మద్దతు ఉంది. అంతర్నిర్మిత ఫంక్షన్లను ఇప్పుడు ఆబ్జెక్ట్ పద్ధతులుగా పిలుస్తారు. రక్షిత _new() కన్స్ట్రక్టర్కు మద్దతు తరగతులకు జోడించబడింది. కంపైల్ పద్ధతులకు ":defcompile" కమాండ్ ఇప్పుడు అందుబాటులో ఉంది.
- "linematch" అల్గోరిథం diff మోడ్కు జోడించబడింది. అదే పేరుతో ఉన్న "diffopt" ఎంపిక ద్వారా ప్రారంభించబడింది, ఇది లైన్ల యొక్క సారూప్య భాగాలను కనుగొని, మార్పులను మరింత ఖచ్చితంగా హైలైట్ చేయడానికి వాటిని సమలేఖనం చేస్తుంది. "diffanchors" ఎంపిక అమలు చేయబడింది, ఇది "యాంకర్స్"ను మాన్యువల్గా నిర్వచించడానికి మిమ్మల్ని అనుమతిస్తుంది, ఇది ఫైల్ను స్వతంత్రంగా పోల్చబడే విభాగాలుగా బలవంతంగా విభజించడానికి, సంక్లిష్ట ఫైళ్ల యొక్క తప్పు భాగాల పోలికలను నిరోధిస్తుంది. ఒకే లైన్లోని వ్యక్తిగత అక్షర మార్పులను హైలైట్ చేయడం మెరుగుపరచబడింది. ఈ హైలైటింగ్ను కాన్ఫిగర్ చేయడానికి, "inline" ఎంపికను "diffopt"కి జోడించారు. ఇది "inline:simple" (మునుపటిలాగా), "inline:char" (అక్షర-స్థాయి హైలైటింగ్) మరియు "inline:word" (పద-స్థాయి హైలైటింగ్) విలువలను తీసుకోవచ్చు.

- పారామితుల డిఫాల్ట్ విలువలు మార్చబడ్డాయి:
- 'చరిత్ర' (50 => 200)
- 'backspace' ('ఇండెంట్, eol, start', బ్యాక్స్పేస్ కీ యొక్క సాధారణ ప్రవర్తన)
- 'diffopt' ("అంతర్గత, పూరకం" => "అంతర్గత, పూరకం, క్లోజ్ఆఫ్, ఇండెంట్-హ్యూరిస్టిక్, ఇన్లైన్:చార్")
- 'fontsize' (10pt => 12pt, అధిక-DPI మానిటర్లకు అనుకూలం)
- 'showcmd' (ఆఫ్ => ఆన్, ఆదేశాలు ఎల్లప్పుడూ కనిపిస్తాయి)
- 'రూలర్' (ఆఫ్ => ఆన్, కర్సర్ స్థానాన్ని చూపుతుంది)
మూలం: opennet.ru
