Vim శోధన మరియు భర్తీ

Vim Search Replace



విమ్ అనేది అధునాతన మరియు ప్రముఖ టెక్స్ట్ ఎడిటర్, ఇది చాలా లైనక్స్ పంపిణీలలో ముందే ఇన్‌స్టాల్ చేయబడింది. ఇది GUI ఆధారిత ఆపరేటింగ్ సిస్టమ్‌లలో ఎక్కువగా ఉపయోగించే కమాండ్-లైన్ ఆధారిత టెక్స్ట్ ఎడిటర్. ఇది చాలా కాన్ఫిగర్ చేయదగినది మరియు చాలా ఫీచర్లతో వస్తుంది. విమ్‌కు సంబంధించి ఒక ముఖ్యమైన విషయం ఏమిటంటే ఇది పునరావృతం కోసం అత్యంత ఆప్టిమైజ్ చేయబడింది.

ఈ వ్యాసంలో, శోధన మరియు భర్తీ చేసే అత్యంత ఉపయోగకరమైన ఫీచర్లలో ఒకదాన్ని మేము వివరిస్తాము. కొన్ని ఆకృతీకరణతో, మీరు కోరుకునే దేనినైనా మండుతున్న వేగంతో మరియు చక్కటి గ్రాన్యులారిటీతో శోధించవచ్చు.







విధానం #1 ఒక సమయంలో ఒక సంఘటనను కనుగొని, భర్తీ చేయండి (స్లాష్ మరియు డాట్ కమాండ్ ఉపయోగించి)

స్లాష్ మరియు డాట్ ఆదేశాన్ని ఉపయోగించడం ద్వారా విమ్‌లో ఒక పదాన్ని శోధించడానికి మరియు భర్తీ చేయడానికి సరళమైన మార్గం. ఒక పదాన్ని శోధించడానికి స్లాష్ (/) ఉపయోగించవచ్చు, ఆ పదాన్ని భర్తీ చేయడానికి డాట్ (.) ఉపయోగించవచ్చు.



Vim ఎడిటర్‌లో ఏదైనా పదాన్ని శోధించడానికి మరియు భర్తీ చేయడానికి క్రింది సాధారణ దశలను అనుసరించండి:



  • Vim లో ఫైల్‌ని తెరవండి
  • / Search_term వంటి శోధన పదంతో పాటు స్లాష్ ( /) కీని నొక్కండి మరియు Enter నొక్కండి. ఇది ఎంచుకున్న పదాన్ని హైలైట్ చేస్తుంది.
  • అప్పుడు కీస్ట్రోక్ నొక్కండి cgn హైలైట్ చేసిన పదాన్ని రీప్లేస్ చేయడానికి మరియు పున_స్థాపించుటకు_పదమును నమోదు చేయడానికి
  • సాధారణ మోడ్‌కు తిరిగి వెళ్ళు. తరువాత, శోధన పదం యొక్క తదుపరి సంఘటనకు వెళ్లడానికి n నొక్కండి.
  • తర్వాత డాట్ నొక్కండి.

ఇది ప్రాథమిక శోధన కోసం వేగవంతమైన మరియు ఉత్తమమైన పద్ధతి మరియు ఫంక్షన్‌లను భర్తీ చేస్తుంది, ఎందుకంటే ఇందులో కొన్ని కీస్ట్రోక్‌లు మరియు మీ ప్రస్తుత పనికి అంతరాయం ఉండదు. అయితే, చాలాసార్లు సంభవించే పదం కోసం శోధించడం కోసం, ఇది పునరావృతమయ్యే మరియు సమయం తీసుకునే పని అవుతుంది.





Vim తో, ప్రత్యామ్నాయ ఆదేశాన్ని ఉపయోగిస్తున్న ఈ పునరావృత పనిని నివారించడానికి మరొక మంచి మార్గం ఉంది.

పద్ధతి #2 ప్రత్యామ్నాయ ఆదేశాన్ని ఉపయోగించి కనుగొనండి మరియు భర్తీ చేయండి

ప్రత్యామ్నాయ కమాండ్ ప్రాథమిక నుండి అధునాతన శోధనను నిర్వహించడానికి మరియు ఫంక్షన్‌లను ఒకే ఆదేశంతో భర్తీ చేయడానికి ఉపయోగించవచ్చు. ఈ ఆదేశానికి వాక్యనిర్మాణం:



$: ఎస్/<శోధన పదము> /<భర్తీ_కాలాన్ని> /ఎంపిక

మీరు ఈ ఆదేశాన్ని సాధారణ రీతిలో నమోదు చేయాలని గమనించండి.

ఎక్కడ

  • S: ప్రత్యామ్నాయం కోసం నిలుస్తుంది
  • సెర్చ్_టెర్మ్: మీరు శోధించి, భర్తీ చేయదలిచిన పదం
  • replace_term: మీరు దాన్ని భర్తీ చేయదలిచిన పదం
  • ఎంపిక: సి (నిర్ధారణ కోసం), g (అన్ని సంఘటనలను ఒకే లైన్‌లో భర్తీ చేయండి), i (కేసును విస్మరించినందుకు)

శోధించండి మరియు భర్తీ చేయండి

ప్రాథమిక శోధన చేయడానికి మరియు ప్రత్యామ్నాయ ఆదేశాన్ని ఉపయోగించి భర్తీ చేయడానికి, కింది వాక్యనిర్మాణాన్ని ఉపయోగించండి:

:%లు/<శోధన పదము> /<భర్తీ_కాలాన్ని> /g

ఈ ఆదేశం సెర్చ్_టెర్మ్ యొక్క అన్ని సందర్భాలను భర్తీ_దశతో భర్తీ చేస్తుంది.

ఉదాహరణకు, ఇది మా నమూనా టెక్స్ట్:

ఉబుంటు అత్యంత ఎక్కువగా ఉపయోగించే లైనక్స్ OS లలో ఒకటి. ఉబుంటులో వేలాది ఉపయోగకరమైన ప్రోగ్రామ్‌లు ఉన్నాయి. ఉబుంటు కమాండ్ లైన్‌తో, మీరు దాదాపు ఏ విధమైన పనినైనా సాధించవచ్చు.

కింది వచనంలో ఉబుంటు యొక్క ప్రతి సంఘటనను డెబియన్‌తో భర్తీ చేయడానికి, కింది ఆదేశం ఉపయోగించబడుతుంది:

:%లు/ఉబుంటు/డెబియన్/g

ఒకే లైన్‌లో శోధించండి మరియు భర్తీ చేయండి

మొత్తం ఫైల్‌కి బదులుగా ఒకే పంక్తిలో మాత్రమే పదం సంభవించడాన్ని శోధించడానికి మరియు భర్తీ చేయడానికి, కింది వాక్యనిర్మాణాన్ని ఉపయోగించండి:

: ఎస్/<శోధన పదము> /భర్తీ_కాలాన్ని/g

ఉదాహరణకు, పై నమూనా టెక్స్ట్‌లో ఉబుంటు సంభవించడాన్ని డెబియన్‌తో భర్తీ చేయడానికి, % సింబల్ లేకుండా కింది ఆదేశం ఉపయోగించబడుతుంది:

: ఎస్/ఉబుంటు/డెబియన్/g

ధృవీకరణతో శోధించండి మరియు భర్తీ చేయండి

శోధన పదాన్ని భర్తీ చేయడానికి ముందు మీరు నిర్ధారణ కోసం అడగాలనుకుంటే, సెర్చ్ కమాండ్ చివర c ని క్రింది విధంగా ఉపయోగించండి:

: ఎస్/<శోధన పదము> /<భర్తీ_కాలాన్ని> /జిసి

పై ఆదేశం ప్రతి భర్తీకి ముందు నిర్ధారణను అడుగుతుంది (అవును కోసం y అని నమోదు చేయండి, అయితే n కోసం కాదు).

కేస్ సెన్సిటివ్ సెర్చ్ మరియు రీప్లేస్

మీరు Vim లో సెర్చ్ చేసి రీప్లేస్ చేసినప్పుడు, డిఫాల్ట్‌గా అది కేస్ సెన్సిటివ్‌గా ఉంటుంది. కింది విధంగా కమాండ్ చివర i ని జోడించడం ద్వారా మీరు కేస్ సెన్సిటివ్ సెర్చ్ చేయవచ్చు:

: ఎస్/<శోధన పదము> /<భర్తీ_కాలాన్ని> /ఇవ్వండి

ఉదాహరణకు, ఉబుంటు అనే పదంతో సంబంధం లేకుండా (UBUNTU, Ubuntu, ubuntu, uBuntu) కోసం శోధించడానికి, కింది ఆదేశం ఉపయోగించబడుతుంది:

: ఎస్/ఉబుంటు/డెబియన్/ఇవ్వండి

మొత్తం పదాన్ని శోధించండి మరియు భర్తీ చేయండి

డిఫాల్ట్‌గా ప్రత్యామ్నాయ కమాండ్ ఏదైనా మ్యాచ్ కోసం పాక్షికంగా లేదా పూర్తి అయినా శోధించండి. ఖచ్చితమైన సెర్చ్_టెర్మ్‌ని సరిపోల్చడానికి మరియు దాన్ని రీప్లేస్_టెర్మ్‌తో భర్తీ చేయడానికి, సెర్చ్ _ టెర్మ్‌ని లోపల జతపరచండి.

ఉదాహరణకు, కొన్ని డాక్యుమెంట్‌లలో, మీరు నా ద్వారా ఖచ్చితమైన పదాన్ని శోధించి, భర్తీ చేయాలనుకుంటున్నారు. ఆ సందర్భంలో, కింది ఆదేశం ఉపయోగించబడుతుంది:

: ఎస్/<నువ్వు > /నేను/

ఇది మీరు అనే పదాన్ని కనుగొని దాన్ని నా స్థానంలో భర్తీ చేస్తుంది. అయితే, ఇది మీలాంటి పదాలను భర్తీ చేయదు.

నిర్దిష్ట లైన్‌లలో పదాలను శోధించండి మరియు భర్తీ చేయండి

కేవలం ఒక లైన్ లేదా మొత్తం ఫైల్‌కు బదులుగా నిర్దిష్ట పంక్తుల మధ్య పదం కోసం శోధించడానికి, కింది వాక్యనిర్మాణాన్ని ఉపయోగించవచ్చు:

:<start_line>,<ముగింపు_లైన్>లు/<శోధన పదము> /<భర్తీ_కాలాన్ని> /g

ఉదాహరణకు, ఉబుంటు సంభవించడాన్ని కొన్ని ఫైల్‌లోని 3 నుండి 8 వరకు ఉన్న పంక్తుల నుండి డెబియన్‌తో శోధించడానికి మరియు భర్తీ చేయడానికి, కమాండ్:

:1, 10 సె/ఉబుంటు/డెబియన్/g

కరెంట్ లైన్ నుండి తదుపరి x సంఖ్య లైన్‌ల వరకు ఒక పదం సంభవించడాన్ని శోధించడానికి మరియు భర్తీ చేయడానికి, కింది వాక్యనిర్మాణం ఉపయోగించబడుతుంది:

: ఎస్/శోధన పదము/భర్తీ_కాలాన్ని/g x

అదేవిధంగా, ప్రస్తుత పంక్తి నుండి చివరి పంక్తి వరకు ఒక పదం సంభవించడాన్ని శోధించడానికి మరియు భర్తీ చేయడానికి: కింది వాక్యనిర్మాణం ఉపయోగించబడుతుంది:

:.,$ s/శోధన పదము/భర్తీ_కాలాన్ని/g

ముగింపు

ఈ వ్యాసంలో, విమ్ ఎడిటర్‌లో ఏదైనా పదాన్ని శోధించడానికి మరియు భర్తీ చేయడానికి రెండు కమాండ్-లైన్ మార్గాలను మేము నేర్చుకున్నాము. స్లాష్ మరియు డాట్‌ను ఉపయోగించే మొదటి కమాండ్ సరళమైనది మరియు సులభమైన పద్ధతి, కానీ మీరు చాలాసార్లు సంభవించే పదాన్ని శోధించి, భర్తీ చేస్తున్నప్పుడు ఇది పునరావృతమవుతుంది. ప్రత్యామ్నాయ కమాండ్ అయిన ఇతర కమాండ్ ఒకసారి కష్టంగా మరియు క్లిష్టంగా అనిపించవచ్చు, కానీ మీరు దానిని ప్రాక్టీస్ చేయడం ప్రారంభించిన తర్వాత, బహుళ దృష్టాంతాలలో మీకు ఇది చాలా ఉపయోగకరంగా ఉంటుంది.