ఈ సమగ్ర గైడ్లో, కార్యకలాపాలను ఆటోమేట్ చేయడానికి Vimలోని కీలను ఎలా మ్యాప్ చేయాలో నేను వివరిస్తాను. ప్రాథమిక కీ మ్యాప్ను రూపొందించడం నుండి అధునాతన కీ మ్యాపింగ్ వరకు, వాటిని శాశ్వతంగా చేయడం మరియు వాటిని తీసివేయడం వంటి ప్రక్రియలతో పాటు.
- వాక్యనిర్మాణం
- Vim ప్రత్యేక వాదనలు
- ప్రాథమిక కీమ్యాప్ను సృష్టిస్తోంది
- కీమ్యాప్లను జాబితా చేయడం
- కీమ్యాప్లను శాశ్వతంగా చేయడం
- పునరావృత్తిని నివారించడం
- మోడ్-నిర్దిష్ట కీమ్యాప్లను సృష్టిస్తోంది
- మౌస్ ఈవెంట్లను ఎలా మ్యాప్ చేయాలి
- Vimలో లీడర్ కీతో మ్యాప్ చేయడం ఎలా
- Vimscript ఫంక్షన్ను ఎలా మ్యాప్ చేయాలి
- Vimలో బాహ్య ఆదేశాలను ఎలా మ్యాప్ చేయాలి
- Vimలో కీమ్యాప్ను ఎలా తొలగించాలి
- Vim కీ మ్యాపింగ్ చీట్ షీట్
- ముగింపు
వాక్యనిర్మాణం
Vimలో కీని మ్యాప్ చేయడానికి, కింది వాక్యనిర్మాణం ఉపయోగించబడుతుంది:
పై వాక్యనిర్మాణంలో:
<మోడ్>మ్యాప్ | nmap, imap, vmap, xmap, cmap లేదా omap |
<వాదనలు>* | <నిశ్శబ్ద>, <బఫర్>, <స్క్రిప్ట్>, <ప్రత్యేక>, |
|
ఎడమ వైపు ఒక కీ లేదా మ్యాప్ చేయవలసిన కీల సమితిని కలిగి ఉంటుంది |
|
కుడి వైపున ఎడమ వైపు కీల ద్వారా అమలు చేయబడే కీలు లేదా ఆదేశాల సమితిని కలిగి ఉంటుంది. |
ముఖ్యంగా,
*పై వాక్యనిర్మాణంలో,
Vim ప్రత్యేక వాదనలు
Vim ప్రత్యేక వాదనలు కీమ్యాప్లకు అదనపు కార్యాచరణను అందించడానికి ఉపయోగించే ట్యాగ్లు. ఈ ఆర్గ్యుమెంట్లు :map కమాండ్ తర్వాత మరియు {rhs} మరియు {lhs} ముందు కనిపిస్తాయి.
ఉదాహరణకు, మ్యాప్ బఫర్-నిర్దిష్టంగా చేయడానికి, ప్రత్యేక వాదనను క్రింది విధంగా ఉపయోగించండి:
: పటం < బఫర్ > < సి-ఎ > ggVG<నిశ్శబ్ద> | కీమ్యాప్ నుండి ప్రతిధ్వనించిన సందేశాలను అణచివేయడానికి |
<బఫర్> | మ్యాప్ బఫర్-నిర్దిష్టంగా చేయడానికి (ప్రస్తుత బఫర్కు ప్రత్యేకమైనది) |
<స్క్రిప్ట్> | మ్యాప్ స్క్రిప్ట్ లేదా ప్లగ్ఇన్లో భాగమని సూచించడానికి |
<ప్రత్యేక> | *ఇది <> సంజ్ఞామానాన్ని ఉపయోగించి మ్యాపింగ్ కోసం ప్రత్యేక కీలను నిర్వచించడానికి ఉపయోగించబడుతుంది (ఫంక్షన్ కీలు, నియంత్రణ, షిఫ్ట్ మరియు ఇతర నాన్-అల్ఫాబెటిక్ కీలు) |
|
ఇది మ్యాపింగ్ యొక్క ఎడమ వైపు ఒక వ్యక్తీకరణ అని సూచిస్తుంది మరియు అది కుడి వైపున పొందేందుకు మూల్యాంకనం చేయాలి |
<ప్రత్యేకమైనది> | స్థానిక మరియు గ్లోబల్ మ్యాప్లలో మ్యాప్ను ప్రత్యేకంగా చేయడానికి |
<ఇప్పుడు వేచి ఉండండి> | మ్యాప్లో తదుపరి కమాండ్ క్యారెక్టర్ కోసం వేచి ఉండడాన్ని దాటవేయడానికి |
Vim ప్రత్యేక కీ సంజ్ఞామానాలు క్రింది చిత్రంలో పేర్కొనబడ్డాయి.
ఉదాహరణకు, మీరు కీ మ్యాపింగ్లో స్పేస్ కీని ఉపయోగించాలనుకుంటే,
Vimలో ప్రాథమిక కీమ్యాప్ని సృష్టిస్తోంది
ప్రాథమిక ఉదాహరణతో Vim కీ మ్యాపింగ్ని అర్థం చేసుకుందాం. నేను అన్ని లైన్లను ఎంచుకోండి ఆదేశాన్ని మ్యాప్ చేయాలనుకుంటున్నాను ( ggVG ) కు ctrl+a కీలు. ctrl+a కీలను మ్యాప్ చేయడానికి, నేను Vimలో కింది ఆదేశాన్ని అమలు చేస్తాను.
: పటం < సి-ఎ > ggVG ఇక్కడ,
అదేవిధంగా, లైన్ నంబర్ను మ్యాప్ చేయడానికి కార్యాచరణను టోగుల్ చేయండి F1 కీ ఉపయోగం:
: పటం < F1 > : సెట్ సంఖ్య !ఇప్పుడు, మీరు F1 కీని నొక్కినప్పుడు పంక్తి సంఖ్య ప్రారంభించబడుతుంది మరియు దానిని మళ్లీ నొక్కడం వలన అది నిలిపివేయబడుతుంది.
ఈ పద్ధతి ప్రస్తుత బఫర్లోని కీలను మాత్రమే మ్యాప్ చేస్తుందని మరియు బఫర్ను మూసివేసిన తర్వాత తీసివేయబడుతుందని గమనించండి.
కీమ్యాప్లను జాబితా చేయడం
సాధారణ, దృశ్య మరియు ఆపరేటర్ పెండింగ్ మోడ్ల యొక్క అన్ని కీ మ్యాపింగ్లను జాబితా చేయడానికి, :map ఆదేశాన్ని ఉపయోగించండి.
: పటంయొక్క కీ మ్యాపింగ్ను జాబితా చేయడానికి చొప్పించు మరియు కమాండ్ లైన్ మోడ్లు, : మ్యాప్ని ఉపయోగించండి! ఆదేశం.
: పటం !నిర్దిష్ట మోడ్ యొక్క కీ మ్యాపింగ్ను జాబితా చేయడానికి, మ్యాప్ కీవర్డ్కు ముందు మోడ్ యొక్క ప్రారంభ అక్షరాన్ని టైప్ చేయండి.
:nmap | సాధారణ మోడ్ యొక్క మ్యాప్లను ప్రదర్శించడానికి |
:imap | ఇన్సర్ట్ మోడ్ యొక్క మ్యాప్లను ప్రదర్శించడానికి |
:vmap | దృశ్య మరియు ఎంపిక మోడ్ యొక్క మ్యాప్లను ప్రదర్శించడానికి |
: స్మాప్ | ఎంపిక మోడ్ యొక్క మ్యాప్లను ప్రదర్శించడానికి |
:xmap | విజువల్ మోడ్ యొక్క మ్యాప్లను ప్రదర్శించడానికి |
:cmap | కమాండ్-లైన్ మోడ్ యొక్క మ్యాప్లను ప్రదర్శించడానికి |
:ఓమాప్ | ఆపరేటర్ పెండింగ్ మోడ్ యొక్క మ్యాప్లను ప్రదర్శించడానికి |
అంతేకాకుండా, మార్గాలతో ప్లగిన్ మ్యాప్లతో సహా అన్ని మ్యాప్లను జాబితా చేయడానికి, ఉపయోగించండి : వెర్బోస్ మ్యాప్ ఆదేశం.
: వెర్బోస్ మ్యాప్నిర్దిష్ట కీ కోసం, కమాండ్లోని కీని పేర్కొనండి ( : వెర్బోస్ మ్యాప్ <కీ> )
కీమ్యాప్లను శాశ్వతంగా చేయడం
పై విభాగంలో పేర్కొన్న కీమ్యాప్లు ప్రస్తుత బఫర్లోని కీలను మాత్రమే మ్యాప్ చేస్తాయి. Vim కీ మ్యాపింగ్లను శాశ్వతంగా చేయడానికి, మ్యాప్లను vimrc ఫైల్లో ఉంచాలి.
కీమ్యాప్ను ఉంచేటప్పుడు గమనించండి vimrc ఫైల్, ముందు కోలన్ (:)ని జోడించవద్దు పటం ఆదేశం.
కీమ్యాప్ను ఉంచిన తర్వాత vimrc ఫైల్, సేవ్ మరియు నిష్క్రమించండి:wq కమాండ్ లేదా shift+zz కీలను ఉపయోగించి. లో ఉంచబడిన కీమ్యాప్లు vimrc ఫైల్ గ్లోబల్గా ఉంటుంది మరియు అన్ని Vim సెషన్లలో ఉపయోగించవచ్చు. అయినప్పటికీ, నిర్దిష్ట కీమ్యాప్లు ప్రస్తుత సెషన్లో పనిని ప్రభావితం చేస్తే తాత్కాలికంగా నిలిపివేయబడతాయి, దిగువ Vim విభాగంలో కీమ్యాప్ను ఎలా తీసివేయాలో చూడండి.
ది vimrc వివిధ ఆదేశాలు మరియు సెట్టింగ్లను కలిగి ఉన్న Vim యొక్క సెట్టింగ్ ఫైల్. లో ఇది ఉంది /usr/share/vim/ MacOS పై డైరెక్టరీ మరియు /etc/vim Linuxలో. అనేది గమనించాల్సిన విషయం vimrc పేర్కొన్న డైరెక్టరీలలోని ఫైల్లు సిస్టమ్-నిర్దిష్ట ఫైల్లు. కీ మ్యాపింగ్ కోసం మీరు ఈ ఫైల్లను సవరించవచ్చు, కానీ నేను వినియోగదారు-నిర్దిష్టను రూపొందించాలని సిఫార్సు చేస్తాను vimrc హోమ్ డైరెక్టరీలో ఫైల్.
పునరావృత్తిని నివారించడం
ముందుకు వెళ్లడానికి ముందు, Vim కీ మ్యాపింగ్లో పునరావృతం గురించి తెలుసుకోవడం ముఖ్యం. దాని లోపాలు మరియు దానిని ఎలా నివారించాలి. ఒక ఉదాహరణను ఉపయోగించడం ద్వారా దీనిని అర్థం చేసుకోవచ్చు.
: పటం dd 3jddపై ఉదాహరణలో, నేను మ్యాప్ చేసాను dd 3 పంక్తుల ద్వారా క్రిందికి తరలించడానికి మరియు కర్సర్ కింద ఉన్న లైన్ను తొలగించడానికి కీలు. ఇప్పుడు, నేను నొక్కినప్పుడు dd , ఇది మ్యాప్ని అమలు చేయడానికి ప్రయత్నిస్తుంది 3jdd . Vim అర్థం చేస్తుంది dd కింది చిత్రంలో చూపిన విధంగా మ్యాప్గా కమాండ్ చేయండి మరియు మ్యాప్ను పదేపదే అమలు చేయండి.
గమనిక : రికర్షన్ Vim ఎడిటర్ను స్తంభింపజేస్తుంది. దాన్ని స్తంభింపజేయడానికి, నొక్కండి ctrl+c కీలు.
పునరావృతం కాకుండా ఉండటానికి, భర్తీ చేయండి పటం కీవర్డ్ తో noremap , ఎక్కడ ' నోర్ ’ అంటే పునరావృతం కానిది . నేను భర్తీ చేస్తాను పటం కీవర్డ్ తో noremap పై కీమ్యాప్లోని పునరావృత్తిని పరిష్కరించడానికి.
:నోరెమ్యాప్ dd 3jddనేను ఉపయోగించమని సిఫార్సు చేస్తాను noremap బదులుగా పటం ప్రమాదవశాత్తూ పునరావృత మ్యాపింగ్ను సృష్టించడాన్ని నివారించడానికి.
మోడ్-నిర్దిష్ట కీమ్యాప్లను సృష్టిస్తోంది
Vim కీ మ్యాపింగ్ను బహుముఖంగా చేసింది, నిర్దిష్ట మోడ్ యొక్క కీమ్యాప్ను కూడా చాలా సులభంగా సృష్టించవచ్చు. ఉదాహరణకు, మీరు ఇన్సర్ట్ మోడ్ కోసం ఒక కీమ్యాప్ని ఉపయోగించి ఉంటే F1 కీ, అప్పుడు మీరు అదే మ్యాప్ చేయవచ్చు F1 పూర్తిగా కొత్త ఆపరేషన్ కోసం మరొక మోడ్లో కీ.
కింది ఉదాహరణలో, నేను మ్యాప్ చేసాను F1 లో 3 లైన్లను తొలగించడానికి కీ సాధారణ మోడ్ మరియు యాంక్ 3 లైన్లలో చొప్పించు మోడ్.
:nmap < F1 > 3వ:imap < F1 > < సి-టి >
మొదటి మ్యాప్ F1 కీని నొక్కినప్పుడు సాధారణ మోడ్లో మూడు పంక్తులను తొలగిస్తుంది, రెండవ మ్యాప్ అదే కీని ఉపయోగించి ఇన్సర్ట్ మోడ్లో ఉన్నప్పుడు ప్రస్తుత లైన్లో ఒక ఇండెంటేషన్ను జోడిస్తుంది. ఇప్పుడు, ప్రతి మోడ్లో మ్యాపింగ్ను అర్థం చేసుకుందాం.
సాధారణ మోడ్ మ్యాపింగ్
సాధారణ మోడ్లో మ్యాప్ను వర్తింపజేయడానికి, మాత్రమే ఉపయోగించండి nmap కీవర్డ్. ఉదాహరణకు, ఉపయోగించి ఫైల్లోని అన్ని పంక్తులను కాపీ చేయడానికి ctrl+c కీలు, నేను కింది ఆదేశాన్ని ఉపయోగిస్తాను.
:nmap < సి-సి > ggVGyఇంతకు ముందు చర్చించినట్లుగా, కీని మ్యాప్ చేయడానికి నాన్-రికర్సివ్ పద్ధతిని ఉపయోగించడం ఉత్తమ పద్ధతి, కాబట్టి, నేను భర్తీ చేస్తాను nmap తో nnoremap కీవర్డ్.
:nnoremap < సి-సి > ggVGyలో కోలన్ (:) లేకుండా ఉంచండి vimrc ఫైల్ని శాశ్వత కీమ్యాప్గా చేయడానికి.
నేను ఉపయోగిస్తాను noremap బదులుగా పటం కింది ఉదాహరణలో.
మోడ్ మ్యాపింగ్ని చొప్పించండి
ఇన్సర్ట్ మోడ్ కోసం కీలను మ్యాప్ చేయడానికి, కేవలం ఉపయోగించండి i బదులుగా n . ఉదాహరణకు, ఇన్సర్ట్ మోడ్లో, ctrl+p మరియు ctrl+n బ్యాక్వర్డ్ మరియు ఫార్వర్డ్ మ్యాచ్ ఆధారంగా పదాన్ని స్వయంపూర్తి చేయడానికి కీలు ఉపయోగించబడతాయి. మ్యాప్ చేయడానికి ctrl+p ట్యాబ్ కీతో కీలు, నేను కింది ఆదేశాన్ని ఉపయోగిస్తాను.
:ఇనోరెమ్యాప్ < ట్యాబ్ > < సి-పి > మరీ ముఖ్యంగా, మీరు మ్యాప్ చేయాలనుకుంటే ఆపరేటర్ పెండింగ్ మోడ్ లో ఆదేశాలు ఇన్సర్ట్ మోడ్ , అప్పుడు మీరు ఇన్సర్ట్ చేయాలి
ఇప్పుడు, నేను నొక్కినప్పుడు ctrl+x కీలు, ఇది ప్రింట్ చేస్తుంది 3ddi దానిని అమలు చేయడానికి బదులుగా కమాండ్ చేయండి.
దాన్ని పరిష్కరించడానికి, నేను ఇన్సర్ట్ చేస్తాను
ఇప్పుడు, కమాండ్ కీప్ మి ఇన్సర్ట్ మోడ్లో అమలు చేస్తుంది.
చాలా మినీ ల్యాప్టాప్లు లేవు Esc కీ, ఇది ప్రస్తుత మోడ్ నుండి నిష్క్రమించడానికి ముఖ్యమైనది. కాబట్టి, మ్యాప్ చేయడానికి Esc ఇన్సర్ట్ మోడ్ నుండి నిష్క్రమించడానికి కీ, కీ మ్యాపింగ్ ఉపయోగించబడుతుంది. కింది ఉదాహరణలో, నేను ఉపయోగిస్తున్నాను ఉదా సాధారణ మోడ్కు నిష్క్రమించడానికి కీలు.
:inoremap ex < Esc >మీరు త్వరగా నొక్కినప్పుడు ఉదా కీలు ఇన్సర్ట్ మోడ్ నుండి నిష్క్రమించబడుతుంది, తద్వారా సాధారణ మోడ్లోకి ప్రవేశిస్తుంది.
విజువల్ మోడ్ మ్యాపింగ్
Vim ఎడిటర్లో వచనాన్ని ఎంచుకోవడానికి విజువల్ మోడ్ చాలా ముఖ్యమైన మోడ్. ప్రాథమిక ఎంపిక కాకుండా, విజువల్ మోడ్ విజువల్ లైన్ మరియు విజువల్ బ్లాక్ మోడ్ల వంటి ఇతర విభిన్న మోడ్లను కలిగి ఉంటుంది.
విజువల్ మోడ్లో, టిల్డ్ (~) కేసును టోగుల్ చేయడానికి ఉపయోగించబడుతుంది. tilde (~) ఉపయోగించడానికి, మీరు రెండు కీలను నొక్కాలి (shift+~) . కింది ఉదాహరణలో, నేను c కీని మ్యాప్ చేస్తున్నాను విజువల్ మోడ్ కర్సర్ కింద ఒక పదాన్ని ఎంచుకోవడానికి మరియు దాని కేసును మార్చడానికి.
:vnoremap c iw~ఇప్పుడు, విజువల్ మోడ్లోకి ప్రవేశించడానికి v నొక్కండి మరియు క్రింది GIFలో చూపిన విధంగా కర్సర్ కింద ఉన్న పదాన్ని టోగుల్ చేయడానికి c కీని నొక్కండి.
కమాండ్-లైన్ మోడ్ మ్యాపింగ్
చాలా Vim ముఖ్యమైన ఆదేశాలు కమాండ్-లైన్ మోడ్లో మాత్రమే పని చేస్తాయి. ఫైల్ను సేవ్ చేయడం వంటివి :లో అదే విధంగా సేవ్ చేయడానికి మరియు నిష్క్రమించడానికి కమాండ్ ఉపయోగించబడుతుంది :wq కమాండ్ ఉపయోగించబడుతుంది. అన్ని ట్యాబ్లు మరియు స్ప్లిట్ ఆపరేషన్లు కూడా కమాండ్-లైన్ మోడ్లో జరుగుతాయి. ఉదాహరణకు, కొత్త ట్యాబ్ని సృష్టించడానికి, ది : అధీన కమాండ్ ఉపయోగించబడుతుంది. సరే, ట్యాబ్ను త్వరగా సృష్టించడానికి, ctrl+t కీలు సరిపోతాయి.
:cnoremap < సి-టి > విషయం < CR >ఇప్పుడు, కమాండ్-లైన్ మోడ్లోకి ప్రవేశించడానికి కోలన్ (:) నొక్కండి ctrl+t కొత్త ట్యాబ్ తెరవడానికి; ఇది మొత్తం టైప్ చేయడం కంటే చాలా వేగంగా ఉంటుంది విషయం కమాండ్ మరియు తిరిగి కీ.
Vim కస్టమ్ ఆదేశాలను సృష్టిస్తోంది
మ్యాప్ని అమలు చేయడానికి కమాండ్ మోడ్లోకి ప్రవేశించడం తక్కువ ఉపయోగకరంగా కనిపిస్తుంది. కానీ మీరు Vimలో మీ స్వంత కస్టమ్ ఆదేశాలను సృష్టించవచ్చు : ఆదేశం ఎంపిక. ఈ ఫీచర్ Vim కీ మ్యాపింగ్ని పోలి ఉంటుంది. ఉదాహరణకు, లైన్ నంబర్ మరియు టెక్స్ట్విడ్త్ను 80కి సెట్ చేయడానికి శీఘ్ర ఆదేశాన్ని సృష్టించడానికి, కింది ఆదేశాన్ని ఉపయోగించండి.
ఇప్పుడు, కమాండ్ మోడ్ను నమోదు చేసి, అమలు చేయండి :Mycmd ఆదేశం.
ఆపరేటర్ పెండింగ్ మోడ్ మ్యాపింగ్
ఆపరేటర్ పెండింగ్ మోడ్ అనేది ఆపరేటర్ కీని నొక్కిన తర్వాత మోషన్ కమాండ్ కోసం Vim వేచి ఉండే మోడ్. సాధారణ ఆపరేటర్లు y, d మరియు c. ఉదాహరణకు, ప్రస్తుత లైన్ మరియు క్రింది 3 లైన్లను తొలగించడానికి, మీరు దీనితో d ఆపరేటర్ని ఉపయోగిస్తారు 3j చలనం (d3j). మీరు కోరుకున్న ఆపరేషన్ను సాధించడానికి, ఈ కీలను ఏకకాలంలో నొక్కలేరు.
మోడ్ సాధారణంగా కదలికలను మ్యాప్ చేయడానికి ఉపయోగించబడుతుంది. ప్రస్తుత పంక్తి మరియు దాని తర్వాత 3 లైన్లను ఎంచుకునే చలనాన్ని మ్యాప్ చేద్దాం.
:ఓనోరెమ్యాప్ < F2 > 3jఇప్పుడు, కరెంట్ లైన్ మరియు దాని తర్వాత 3 లైన్లను యాంక్ చేయడానికి ఉపయోగించండి theF2 కీలు, అదే విధంగా, ది డి ఆపరేటర్ కూడా దరఖాస్తు చేసుకోవచ్చు.
గుర్తుంచుకోవలసిన మరో ముఖ్యమైన విషయం ఏమిటంటే, మీరు పైన పేర్కొన్న మ్యాప్ చేయబడిన చలనానికి గణనను జోడిస్తే, చెప్పండి 2
మౌస్ ఈవెంట్లను ఎలా మ్యాప్ చేయాలి
Vim పూర్తిగా అనుకూలీకరించదగిన కీబోర్డ్-సెంట్రిక్ టెక్స్ట్ ఎడిటర్ అయినప్పటికీ, మౌస్ కార్యాచరణ యొక్క లభ్యత దానిని మరింత మెరుగ్గా చేస్తుంది. సాధారణ కీబోర్డ్ కీలు కాకుండా, అన్ని మౌస్ ఈవెంట్లను కూడా Vimలో మ్యాప్ చేయవచ్చు. ఉదాహరణకు, మీరు మార్కులను వరుసగా ముందుకు మరియు వెనుకకు జంప్ చేయడానికి కుడి డబుల్ క్లిక్ మరియు ఎడమ డబుల్ క్లిక్ను మ్యాప్ చేయాలనుకుంటే, క్రింది మ్యాపింగ్ని ఉపయోగించండి.
:నోరెమ్యాప్ < 2 -రైట్మౌస్ > ] `:నోరెమ్యాప్ < 2 -ఎడమ మౌస్ > [ `
మ్యాప్ చేయగల ఇతర మౌస్ ఈవెంట్లు క్రింది పట్టికలో ఇవ్వబడ్డాయి.
<ఎడమ మౌస్> | <ఎడమ విడుదల> | |
<2-ఎడమ మౌస్> | |
<రైట్మౌస్> | <రైట్ రిలీజ్> | <రైట్ డ్రాగ్> | <2-RightMouse> | |
<మిడిల్మౌస్> | <మిడిల్ రిలీజ్> | |
<3-ఎడమ మౌస్> | |
<3-RightMouse> | |
|||
<4-ఎడమ మౌస్> | |
|||
<4-RightMouse> | |
Vimలో లీడర్ కీతో మ్యాప్ చేయడం ఎలా
లీడర్ కీ లేకుండా Vim మ్యాపింగ్ అసంపూర్ణంగా ఉంటుంది. లీడర్ కీ అనేది డిఫాల్ట్ కీ, ఇది కొన్ని ఇతర పనులను చేయడానికి మ్యాప్ చేయబడినప్పటికీ, మ్యాప్ కీలను ఉపయోగించవచ్చు. ఉదాహరణకు, మీరు మ్యాప్ చేసి ఉంటే డి అన్ని పంక్తులను తొలగించడానికి కీ, ఆపై లీడర్ కీని ఉపయోగించి 5 లైన్లను మాత్రమే తొలగించడానికి మేము అదే కీని మ్యాప్ చేయవచ్చు.
విమ్ లీడర్ కీతో పరిచయం లేని వారికి. ఇది కమాండ్లు లేదా ఆపరేషన్లను మ్యాపింగ్ చేయడానికి మరొక కీ లేదా కీల సెట్తో ప్రిఫిక్స్ చేయబడిన కీ. Vim యొక్క డిఫాల్ట్ లీడర్ కీ బ్యాక్స్లాష్ (\), అయితే ఇది అనుకూలీకరించదగినది.
ఉదాహరణకు, ది dd కమాండ్ కర్సర్ క్రింద ఉన్న పంక్తిని తొలగించడానికి ఉపయోగించబడుతుంది. మీరు మ్యాప్ చేయాలనుకుంటే dd ఫైల్లలోని అన్ని పంక్తులను తొలగించమని ఆదేశం, ఆపై మీరు లీడర్ కీని ఉపయోగించవచ్చు.
:నోరెమ్యాప్ < నాయకుడు > dd ggVGdఇప్పుడు, మీరు నొక్కినప్పుడల్లా \dd కీ, ఫైల్లోని అన్ని పంక్తులు తొలగించబడతాయి. మీరు Vim లీడర్ కీని Windowsలో కంట్రోల్ కీగా లేదా MacOSలో కమాండ్ కీగా ఆపాదించవచ్చు.
Vimscript ఫంక్షన్ను ఎలా మ్యాప్ చేయాలి
Vim ఎడిటర్ ఆదేశాలు లేదా ఆపరేషన్లకు మాత్రమే పరిమితం కాలేదు. Vimscript అని పిలువబడే అనుకూల కార్యాచరణను సృష్టించడానికి Vim చుట్టూ మొత్తం ప్రోగ్రామింగ్ భాష ఉంది. మీరు సులభంగా స్క్రిప్ట్ లేదా ఫంక్షన్ని సృష్టించి, దాన్ని కీకి మ్యాప్ చేయవచ్చు. ఉదాహరణకు, లైన్ నంబర్, మౌస్ ఫంక్షనాలిటీ మరియు టెక్స్ట్విడ్త్ వంటి సెట్టింగ్లను ఎనేబుల్ చేసే ఫంక్షన్ని క్రియేట్ చేద్దాం.
ఫంక్షన్ MySettings ( )సెట్ సంఖ్య
సెట్ మౌస్ = ఎ
సెట్ టెక్స్ట్ వెడల్పు = 80
అంత్యక్రియ
ఈ ఫంక్షన్ను vimrc ఫైల్లో ఉంచండి.
లీడర్ మరియు s కీలతో ఈ ఫంక్షన్ను మ్యాప్ చేద్దాం. నేను ఉపయోగిస్తాను
:నోరేమ్యాప్ < నాయకుడు > s: MySettingsకి కాల్ చేయండి ( ) < CR >ఇప్పుడు, మీరు నొక్కినప్పుడల్లా \s కీలు, ఫంక్షన్ అంటారు మరియు ఫంక్షన్ లోపల ఏదైనా కార్యాచరణ అమలు చేయబడుతుంది.
గమనిక : Vimలో కస్టమ్ ఫంక్షన్ను క్రియేట్ చేస్తున్నప్పుడు ఫంక్షన్ పేరులోని మొదటి అక్షరం ఎల్లప్పుడూ పెద్ద అక్షరాలతో ఉండాలి.
Vimలో బాహ్య ఆదేశాలను ఎలా మ్యాప్ చేయాలి
బాహ్య ఆదేశాలను Vimలో కూడా మ్యాప్ చేయవచ్చు. బాహ్య ఆదేశాలు Linux లేదా Unix ఆదేశాలను సూచిస్తాయి. ఉదాహరణకు, మీరు బాహ్యంగా మ్యాప్ చేయాలనుకుంటే క్రమబద్ధీకరించు ప్రస్తుత బఫర్లోని అన్ని పంక్తులను క్రమబద్ధీకరించమని ఆదేశం F1 కీ, కింది ఆదేశాన్ని ఉపయోగించండి.
:నోరెమ్యాప్ < F1 > : %! క్రమబద్ధీకరించు < CR >అదే విధంగా, మీరు Vim సెషన్ నుండి నిష్క్రమించకుండా స్క్రిప్ట్ ఫైల్ను వ్రాసి, దాన్ని ఎక్జిక్యూటబుల్గా చేస్తే, మీరు దీన్ని ఉపయోగించవచ్చు chmod అంతర్గతంగా ఆదేశం. ఉదాహరణకు, ప్రస్తుత ఫైల్ను ఎక్జిక్యూటబుల్ చేయడానికి, మీరు ఆదేశాన్ని అమలు చేయవచ్చు :!chmod +x % Vim లో. మీరు ఈ పనిని తరచుగా చేస్తే, దానికి ఒక కీని మ్యాప్ చేయండి.
:నోరెమ్యాప్ < F1 > : ! chmod +x %Vimలో, ఏదైనా బాహ్య ఆదేశాన్ని ఆశ్చర్యార్థకం (!) గుర్తుతో ఉపయోగించవచ్చు.
Vimలో కీమ్యాప్ను ఎలా తొలగించాలి
Vimలో కీమ్యాప్లను తీసివేయడానికి, ముందుగా అది ఎక్కడ నిర్వచించబడిందో గుర్తించండి. ముందుగా చర్చించినట్లుగా, కీమ్యాప్లు బఫర్-లోకల్ మరియు శాశ్వతంగా ఉంటాయి. కీమ్యాప్ శాశ్వతంగా ఉండి, vimrc ఫైల్లో ఉంచినట్లయితే, వాటిని ఫైల్ నుండి తీసివేయడం వలన కీలు అన్మ్యాప్ చేయబడతాయి.
మ్యాపింగ్ ప్రస్తుత బఫర్లో జరిగితే, వాటిని ఉపయోగించి తీసివేయవచ్చు :అన్ మ్యాప్ లేదా :అన్ మ్యాప్! ఆదేశాలు.
- :అన్ మ్యాప్ సాధారణ, దృశ్య, ఎంపిక లేదా ఆపరేటర్ పెండింగ్ మోడ్ల కీమ్యాప్లను క్లియర్ చేయడానికి
- :అన్ మ్యాప్! ఇన్సర్ట్ మరియు కమాండ్-లైన్ మోడ్ల కీమ్యాప్లను క్లియర్ చేయడానికి
ఉదాహరణకు, తొలగించడానికి
:నన్ మ్యాప్ | యొక్క మ్యాప్లను తీసివేయడానికి సాధారణ మోడ్ |
:అన్ మ్యాప్ | యొక్క మ్యాప్లను తీసివేయడానికి చొప్పించు మోడ్ |
:vunmap | యొక్క మ్యాప్లను తీసివేయడానికి దృశ్య మరియు ఎంచుకోండి మోడ్ |
: సన్ మ్యాప్ | యొక్క మ్యాప్లను తీసివేయడానికి ఎంచుకోండి మోడ్ |
:xunmap | యొక్క మ్యాప్లను తీసివేయడానికి దృశ్య మోడ్ |
:కన్ మ్యాప్ | యొక్క మ్యాప్లను తీసివేయడానికి కమాండ్ లైన్ మోడ్ |
:అన్మ్యాప్ | యొక్క మ్యాప్లను తీసివేయడానికి ఆపరేటర్ పెండింగ్లో ఉన్నారు మోడ్ |
ప్రస్తుత బఫర్లోని అన్ని మ్యాప్లను తీసివేయడానికి, దీన్ని ఉపయోగించండి : మాప్క్లియర్ ఆదేశం.
: మాప్క్లియర్ఎగువ కమాండ్ సాధారణ, దృశ్య, ఎంపిక లేదా ఆపరేటర్ పెండింగ్ మోడ్ యొక్క అన్ని కీమ్యాప్లను క్లియర్ చేస్తుంది.
ఇన్సర్ట్ మరియు కమాండ్ లైన్ మోడ్ల యొక్క అన్ని కీమ్యాప్లను క్లియర్ చేయడానికి వీటిని ఉపయోగించండి:
: మాప్క్లియర్ ! డిఫాల్ట్ Vim కమాండ్లు స్పష్టంగా ఉండవని గమనించండి, అయినప్పటికీ, దీనిని ఉపయోగించి నిలిపివేయవచ్చు :అన్ మ్యాప్ తో ఆదేశం <కాదు> . ఉదాహరణకు, మీరు కర్సర్ కింద ఉన్న లైన్ను తొలగించే dd కార్యాచరణను నిలిపివేయాలనుకుంటే, ఉపయోగించండి : unmap dd
ప్రస్తుత బఫర్లో dd ఇకపై పని చేయదు. ఈ పద్ధతిని ఉపయోగించి, ప్రస్తుత సెషన్ కోసం ఏదైనా కీమ్యాప్ని నిలిపివేయవచ్చు.
Vim కీ మ్యాపింగ్ చీట్ షీట్
కింది చిత్రం అన్ని ఆదేశాల జాబితాను మరియు సూచన కోసం వాటి నిర్దిష్ట మోడ్లను అందిస్తుంది.
ముగింపు
Vim కీ మ్యాపింగ్ అనేది మీ టాస్క్లు, తరచుగా ఉపయోగించే కీ బైండింగ్, ఆదేశాలు మరియు ఇతర కార్యకలాపాలను ఆటోమేట్ చేయడానికి సులభమైన మార్గం. ఇది విభిన్నమైన అంశం మరియు ఈ గైడ్లో, Vimలో కీ మ్యాపింగ్కు సంబంధించిన అన్ని ప్రధాన అంశాలను నేను కవర్ చేసాను. సాధారణ సింటాక్స్ నుండి ప్రాథమిక కీమ్యాప్ని సృష్టించడం మరియు అధునాతన Vimscript ఫంక్షన్లు మరియు బాహ్య ఆదేశాలను మ్యాపింగ్ చేయడం వరకు. Vim కీ మ్యాపింగ్ గురించి మరింత తెలుసుకోవడానికి, ఉపయోగించండి : కీ-మ్యాపింగ్ సహాయం Vim లో ఆదేశం.