प्रौद्योगिकी साझेदारी

[Beijing Xunwei] "i.MX8MM Embedded Linux Development Guide" - Embedded Linux इत्यस्य प्रथमः परिचयः - अध्यायः 6 Vim Editor इत्यस्य उपयोगः

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

i.MX8MM प्रोसेसरः द्रुततरं गतिं उच्चतरं शक्तिदक्षतां च प्रदातुं उन्नतं 14LPCFinFET प्रक्रियां स्वीकरोति, एकल-कोर-कोर्टेक्स-M4, पञ्चकोरपर्यन्तं, 1.8GHz, 2G DDR4 मेमोरी, 8G EMMC पर्यन्तं घण्टां धारयति संग्रहण। Gigabit industrial Ethernet, MIPI-DSI, USB HOST, WIFI/BT, 4G module, CAN, RS485 इत्यादीनि अन्तरफलकानि सर्वाणि उपलभ्यन्ते । H264, VP8 विडियो हार्ड कोडिंग्, H.264, H.265, VP8, VP9 विडियो हार्ड डिकोडिंग्, तथा च तत्सम्बद्धाः प्रक्रियाः प्रदत्ताः सन्ति, येषु 8-मार्गीय PDM अन्तरफलकं, 5-मार्गीय SAI अन्तरफलकं, 2-मार्गीयं स्पीकरं च समर्थयन्ति प्रणाली Android9.0 (मूल अनुमतिं प्राप्तुं समर्थयति) Linux4.14.78+Qt5.10.1, Yocto, Ubuntu20, Debian9 प्रणालीं समर्थयति । स्मार्ट चार्जिंग ढेराः, इन्टरनेट् आफ् थिङ्ग्स्, औद्योगिकनियन्त्रणं, चिकित्सासेवा, बुद्धिमान् परिवहनम् इत्यादीनां कृते उपयुक्तः, तथा च कस्यापि सामान्य औद्योगिकस्य इन्टरनेट् आफ् थिंग्सस्य च अनुप्रयोगस्य कृते उपयोक्तुं शक्यते,

[सार्वजनिक खाता] Xunwei इलेक्ट्रॉनिक्स

[प्रशंसकसमूहः] 258811263 (चालकस्य दस्तावेजीकरणं + दिनचर्याम् प्राप्तुं समूहे सम्मिलितं भवन्तु)


अध्यायः ६ विम सम्पादकस्य उपयोगः

अस्य अध्यायस्य सामग्रीसम्बद्धः विडियो व्याख्यालिङ्कः (अनलाईनरूपेण पश्यन्तु):

विम सम्पादकस्य उपयोगः https://www.bilibili.com/video/BV1M7411m7wT?p=6

६.१ विम् सम्पादकः

vi सम्पादकः यूनिक्स-प्रणालीनां मूलसम्पादकः अस्ति । एतत् पाठसम्पादनविण्डो अनुकरणार्थं console graphics mode इत्यस्य उपयोगं करोति, येन भवान् सञ्चिकायां रेखाः द्रष्टुं, सञ्चिकायाः ​​अन्तः गन्तुं, पाठं सम्मिलितुं, सम्पादयितुं, प्रतिस्थापनं च कर्तुं शक्नोति । यद्यपि एषः विश्वस्य जटिलतमः सम्पादकः भवितुम् अर्हति तथापि अस्य विशालविशेषतानां सङ्ग्रहः बहुवर्षेभ्यः यूनिक्स-प्रणालीप्रशासकानां कृते मुख्य-आधार-उपकरणं कृतवान् यदा GNU परियोजना vi सम्पादकं मुक्तस्रोतजगति पोर्ट् कृतवती तदा ते तस्मिन् किञ्चित् सुधारं कर्तुं निश्चयं कृतवन्तः । यतः यूनिक्स् मध्ये मूल vi सम्पादकः नासीत्, तस्मात् विकासकाः तस्य नाम vi improved, अथवा vim इति परिवर्तयन्ति स्म ।

न केवलं wps तथा office on win अस्ति, अस्माकं ubuntu इत्यत्र अपि बहवः सम्पादकाः सन्ति। यतः प्रायः कस्यापि वितरणस्य vi/vim सम्पादकः भवति, तथा च एम्बेडेड् लिनक्स इत्यत्र vim सम्पादकः प्रायः एकीकृतः भवति, अतः vim सम्पादकस्य अधिकांशसंस्करणं समर्थितम् अस्ति, अतः अस्माभिः vim ज्ञातव्यम्

vim इति vi इत्यस्य वर्धितं संस्करणम् अस्ति मूलतः सर्वे vi आदेशाः vim इत्यत्र उपयोक्तुं शक्यन्ते, तथा च vi इत्यस्मात् उपयोगः सुकरः अस्ति । एतयोः समानत्वात् विम् वि च अनुवर्तमानस्य अध्ययने न भेदः भविष्यति ।

६.२ विअहं अस्मिसम्पादकस्य त्रयः गुणाः

वयं विण्डोज इत्यत्र चिह्नं द्विवारं क्लिक् कर्तुं शक्नुमः, परन्तु vi सम्पादकस्य मेन्यू नास्ति, आदेशानां माध्यमेन च संचालितं भवति । वयं कन्सोल् उद्घाटयामः, यत् home/topeet मार्गस्य अधः अस्ति । वयं प्रत्यक्षतया vi filename इति प्रविशामः, अत्र test.c इति रूपेण आरभ्य, यत् text editor उद्घाटयति । यदि मया उद्घाटिता सञ्चिका नास्ति तर्हि सा नूतनां सञ्चिकां निर्मास्यति यदि सञ्चिका अस्ति तर्हि सा प्रत्यक्षतया उद्घाटिता भविष्यति ।यथा अधः दर्शितम्

vim सम्पादकं आरभ्यतुं टर्मिनल् मध्ये vim आदेशं सम्पादनीयायाः सञ्चिकायाः ​​नाम च टङ्कयन्तु (यदि vim आरभ्यमाणे सञ्चिकानाम निर्दिष्टं नास्ति, अथवा सञ्चिका नास्ति तर्हि vim सम्पादनार्थं नूतनं बफरक्षेत्रं उद्घाटयिष्यति) .

vim सम्पादकस्य त्रयः संचालनविधयः सन्ति : १.

प्रथमः गुणः सामान्यगुणः ।वयं vim editor उद्घाटितस्य अनन्तरं वयं यस्मिन् मोड् मध्ये स्मः सः normal mode अस्ति ।

द्वितीयः मोडः सम्पादनविधिः अस्ति । अक्षरशः, edit mode यस्मिन् वयं किञ्चित् पाठं प्रविष्टुं शक्नुमः । वयं सम्पादनविधानं प्रति स्विच् कर्तुम् इच्छामः, केवलं कीबोर्ड् मध्ये i नुदन्तु, ततः INSERT दृश्यते, यथा अधोलिखिते चित्रे दर्शितम्, ततः अधुना वयं यस्मिन् मोड् मध्ये स्मः सः सम्पादनविधिः अस्ति । वयं edit mode इत्यत्र text content प्रविष्टुं शक्नुमः पाठं वा अक्षराणि वा प्रविष्टुं शक्यते ।

वयं editing mode तः normal mode प्रति आगत्य प्रत्यक्षतया कीबोर्ड् मध्ये ESC कीलम् नुदामः अधुना अधः वामकोणे INSERT इति शब्दः नास्ति ।

तृतीयः आदेशपङ्क्तिविधिः , अहम् अधुना यस्मिन् मोड् मध्ये अस्मि सः सामान्यः मोड् अस्ति, वयं कमाण्ड् लाइन् मोड् प्रति गत्वा प्रत्यक्षतया कीबोर्ड् मध्ये ":" इति प्रविशामः । यदि अधोलिखिते चित्रे दर्शितवत् ":" अस्ति तर्हि वर्तमानस्थितिः आदेशपङ्क्तिविधिः अस्ति ।

यथा, रेखासङ्ख्यां प्रदर्शयितुं आदेशपङ्क्तिविधाने "set number" इति आदेशं प्रविशन्तु ।

यथा अधः दर्शितम् : १.

वयं कमाण्ड् लाइन् मोड् मध्ये ESC कीलम् नुदितुं शक्नुमः अथवा सामान्य मोड् मध्ये प्रत्यागन्तुं शक्नुमः । यथा, यदि अहं सामान्यविधानात् सम्पादनविधानं प्रति गच्छामि तर्हि कीबोर्ड् मध्ये i नुदामि, ततः प्रत्यागन्तुं ESC नुदामि । वयं ESC मार्गेण एतेषु त्रयेषु मोड्स् प्रति आगच्छामः, यत् कीबोर्ड् मध्ये ":" अथवा "i" कीलम् नुत्वा स्विच् भवति एते vim एडिटरस्य त्रयः मोड्स् सन्ति । कीबोर्ड् मध्ये i कीलस्य अतिरिक्तं वयं edit mode मध्ये प्रवेशार्थं a अथवा o कीलम् नुदितुं शक्नुमः ।

6.3 vim editor मध्ये कर्सरं चालयन्तु

सामान्यविधाने यदि vim टर्मिनल् प्रकारं सम्यक् चिन्तयितुं शक्नोति (सामान्यपरिस्थितौ ठीकं भवितुमर्हति), तर्हि पाठक्षेत्रे कर्सरं चालयितुं भवान् प्रत्यक्षतया बाणकुंजीनां उपयोगं कर्तुं शक्नोति

vim इत्यत्र कर्सरस्य चालनार्थं अद्वितीयाः आदेशाः अपि सन्ति ।

के: उपरि गच्छतु

ज: अधः गच्छतु

ह: वामभागे गच्छतु

ल: दक्षिणं गच्छतु

Ctrl+F (PageDown): एकं पटलं अधः स्क्रॉलं कुर्वन्तु

Ctrl+B (PageUp): एकं पटलं स्क्रॉलं कुर्वन्तु

वयं सामान्यविधाने कीबोर्ड् इत्यत्र g इत्यत्र डबल-क्लिक् कर्तुं शक्नुमः g इत्यत्र कर्सरं प्रथमपङ्क्तौ स्थापयितुं यदि वयं कर्सरं अन्तिमपङ्क्तौ स्थापयितुम् इच्छामः तर्हि G नुदामः, येन कर्सरः अन्तिमपङ्क्तौ गच्छति;यदि वयं इच्छामः यत् रेखानां संख्यां ज्ञातुम् इच्छामः तर्हि वयं ngg इत्यस्य उपयोगं कर्तुं शक्नुमः उदाहरणार्थं यदि अहं कर्सरं 3 पङ्क्तिं प्रति स्थानान्तरयितुम् इच्छामि तर्हि अहं 3gg इति प्रविशति ।

gg: प्रथमपङ्क्तौ कर्सरं स्थापयन्तु

G: कर्सरं अन्तिमपङ्क्तौ स्थापयन्तु

ngg: कर्सरं nth रेखायां स्थापयन्तु

6.4 vim editor इत्यस्मिन् पाठस्य प्रतिलिपिं कृत्वा चिनोति

विण्डोज इत्यत्र पाठसम्पादकस्य उपयोगः, प्रतिलिपिकरणं, पेस्टिंग् च अतीव सुलभं भवति, अतः अहं भवद्भ्यः विण्डोज इत्यत्र यथा भवति तत्सदृशं संचालनविधिं परिचययिष्यामि, यत् प्रत्यक्षतया आदेशानां उपयोगात् बहु अधिकं सुविधाजनकम् अस्ति

प्रथमं कर्सरं रेखायाः आरम्भे स्थापयन्तु यत्र वयं सामग्रीं प्रतिलिखितुम् इच्छामः, पाठं चिन्वितुं उपरि, अधः, वाम, दक्षिणं कीलानां उपयोगं कुर्वन्तु चयनं कृत्वा कीबोर्ड् मध्ये Y नुदन्तु, ततः प्रत्यागन्तुं esc कीलं नुदन्तु the normal mode, कर्सरं तस्मिन् स्थाने स्थापयन्तु यत्र वयं पेस्ट् कर्तुम् इच्छामः, ततः स्वस्य कीबोर्ड् मध्ये p नुदन्तु ।

यदि अहम् इदानीं 1 तः 4 पर्यन्तं पङ्क्तौ एतानि अक्षराणि प्रतिलिपिं कर्तुम् इच्छामि तर्हि प्रथमं कर्सरं रेखायाः आरम्भं प्रति चालयामि अर्थात् अहं यस्याः पङ्क्तिः प्रतिलिपिं कर्तुम् इच्छामि तस्याः आरम्भे चालयामि, ततः वयं कीबोर्ड् मध्ये v नुदामः, एकं शब्दं च VISUAL इत्येतत् अधः वामकोणे दृश्यते, ततः वयं कीबोर्ड् मध्ये Use up, down, left and right कील्स् इत्यस्य उपयोगेन वयं यत् पाठं प्रतिलिखितुम् इच्छामः तस्य चयनं कृत्वा वयं कीबोर्ड् मध्ये Y नुदामः, यथा अधः दर्शितम् अस्ति

ततः अस्माकं पाठं चिनोतु, वयं प्रथमं कीबोर्ड् मध्ये ESC नुदामः सामान्य मोड् प्रति प्रत्यागन्तुं । ततः कर्सरं तस्मिन् स्थाने स्थापयन्तु यत्र वयं चिनोतुम् इच्छामः अहं पञ्चमपङ्क्तौ आरभ्य केवलं कीबोर्ड् मध्ये p नुदिष्यामि ।

6.5 vim editor प्रतिलिपिं कर्तुं शॉर्टकट् कीलानां उपयोगं करोति

यदि अहम् अत्र केवलम् एकां पङ्क्तिं प्रतिलिखितुं इच्छामि तथा च एतावता पङ्क्तयः प्रतिलिखितुं न इच्छामि तर्हि एतत् कर्तुं मम कृते अतीव कष्टकरं भविष्यति उदाहरणार्थम्, यदि अहम् अत्र चतुर्थपङ्क्तिं प्रतिलिखितुं इच्छामि । अहं केवलं कीबोर्ड् मध्ये y द्विवारं क्लिक् करोमि, ततः वयं कर्सरं चालयामः 9 पङ्क्तौ, वयं p नुदामः येन वयं रेखां प्रतिलिखयामः ।

यदि अहं बहुपङ्क्तयः प्रतिलिखितुं इच्छामि तर्हि एतत् आदेशं पूर्णं कर्तुं अपि उपयोक्तुं शक्नोमि लेखकः प्रत्यक्षतया nyy आदेशस्य उपयोगं करोति । इदं आदेशं वर्तमानरेखायाः अधः n पङ्क्तयः प्रतिलिखितव्याः अत्र अहं 3 तः 6 पर्यन्तं पङ्क्तयः प्रतिलिखितुं इच्छामि, ततः अहं कर्सरं प्रति गच्छामि line 11. अहं प्रत्यक्षतया कीबोर्ड् मध्ये p नुदामि, येन वयं सर्वाणि 4 पङ्क्तयः प्रतिलिखयामः ।

एषः vi इत्यस्य प्रतिलिपि आदेशः अस्ति, एते आदेशाः वयं सामान्यतया उपयुञ्ज्महे ।

yy: वर्तमानपङ्क्तिं प्रतिलिख्यताम्

nyy: वर्तमानरेखायाः अधः n पङ्क्तयः प्रतिलिख्यताम्

6.6 vim editor इत्यस्य लोपः

विधिः १: प्रत्यक्षतया सम्पादनविधिं प्रविश्य विलोपनार्थं delete इत्यस्य उपयोगं कुर्वन्तु

विधिः २ : dd आदेशस्य उपयोगं कुर्वन्तु

dd: यत्र कर्सरः अस्ति तत्र रेखां विलोपयन्तु

ndd: न पङ्क्तयः लोपयन्तु

n1,n2d: पङ्क्तिनां निर्दिष्टं परिधिं विलोपयन्तु। आदेशपङ्क्तिविधाने संचालनस्य आवश्यकता भवति ।

विधिः प्रथमः, अहं प्रत्यक्षतया सम्पादनविधौ प्रविशति, ततः प्रत्यक्षतया कीबोर्ड् मध्ये delete नुदामि, यदि एतत् अति कष्टप्रदं भवति तर्हि भवान् प्रत्यक्षतया dd आदेशस्य अपि उपयोगं कर्तुं शक्नोति cursor is.I इदानीं 8 पङ्क्तौ अस्ति यतः इदानीं INSERT अस्ति, अहं प्रथमं मोड् सामान्य मोड् प्रति स्विच् करोमि, ततः d डबल-क्लिक् करोमि, ततः 8 पङ्क्तिः विलोप्यते । यथा अधः दर्शितम्।

तथैव वयं ndd इत्यस्य उपयोगं कर्तुं शक्नुमः, यस्य उपयोगेन n पङ्क्तयः विलोपिताः भवन्ति यथा, यदि वयं 9 तः 11 पर्यन्तं पङ्क्तयः विलोप्य प्रत्यक्षतया 3dd प्रविशन्ति तर्हि एताः त्रीणि पङ्क्तयः विलोपिताः भविष्यन्ति, यथा अधोलिखिते चित्रे दर्शितम् अस्ति ।

दैनिकप्रयोगे कदाचित् अनेकानि पङ्क्तयः विलोपयितुं आवश्यकाः सन्ति आदेशपङ्क्तिः ।

अहं 1 पङ्क्तितः 6 पङ्क्तिपर्यन्तं सर्वाणि सामग्रीनि विलोपयितुम् इच्छामि।कमाण्ड् लाइन् मोड् मध्ये प्रविष्टुं प्रविष्टुं च कीबोर्ड् मध्ये कोलन् नुदन्तु १,६घ्, यथा अधः दर्शितं, ततः Enter नुदन्तु, येन 1-6 पङ्क्तयः सर्वाणि लोप्यन्ते ।

6.7 विम् सम्पादक पूर्ववत

वयं win इत्यत्र undo कर्तुं ctrl+z इत्यस्य उपयोगं कुर्मः । ध्यानं कुर्वन्तु यत् एषः सामान्यः मोड् अस्ति, अस्माभिः पिहितः पाठसञ्चिका अत्र पूर्ववत् कर्तुं न शक्यते । अहं विलोपितानां सामग्रीं पूर्ववत् करोमि अस्माकं प्रथमं सोपानं सामान्यमोड् मध्ये प्रत्यागन्तुं यदि वयं न जानीमः यत् वयं कस्मिन् मोड् मध्ये स्मः तर्हि वयं प्रत्यक्षतया सामान्य मोड् मध्ये प्रत्यागन्तुं ESC कीलस्य उपयोगं कुर्मः, ततः कीबोर्ड् मध्ये u नुदामः तत् विलोपयन्तु।सामग्री पुनः आगता अस्ति। यदि वयं तत् पूर्ववत् कर्तुम् न इच्छामः तर्हि कथं पूर्ववत् कर्तुं शक्नुमः ? यथा अधः दर्शितम्।

6.8 विम्सम्पादक अन्वेषण

वयं विण्डोज इत्यत्र अन्वेषणार्थं ctrl+f इत्यस्य उपयोगं कुर्मः । यथा, यदि अहं da इति अक्षरद्वयं अन्वेष्टुम् इच्छामि तर्हि अहं प्रत्यक्षतया कीबोर्ड् मध्ये "/" नुदतु इदानीं अहं आदेशपङ्क्तिमोड् प्रविष्टवान्, da इति टङ्कयित्वा Enter इति नुदतु, ततः अहं da इति अक्षरं अन्वेषयिष्यामि ।अर्थात् निवेश/दा,यथा अधः दर्शितम्।

अधः अन्वेष्टुं कीबोर्ड् मध्ये "n" नुदन्तु, ततः सामान्य मोड् प्रति प्रत्यागन्तुं ESC नुदन्तु, ततः "?" इति प्रविशन्तु, ततः da प्रविष्टं कुर्वन्तु, Enter नुदन्तु, ततः n नुदन्तु, ततः उपरि अन्वेषयिष्यति . यथा अधः दर्शितम्।

6.9 विम् सम्पादक प्रतिस्थापन

वयं प्रथमं आदेशपङ्क्तिमोड् प्रविशामः, प्रथमं प्रविशामः: "%s /xunwei/dianzi/g", वयं Enter नुदामः, येन वयं Xunwei इत्यस्य स्थाने electron स्थापयामः, यथा अधोलिखिते चित्रे दर्शितम् अस्ति । अस्य आदेशस्वरूपम् अस्ति: "%s /old/new/g" ।

6.10विम्सम्पादकः रक्षतु

:q!

:wq रक्षित्वा निर्गच्छतु

:q असम्पादितपाठात् निर्गच्छन्तु

यदि भवान् रक्षितुं निर्गन्तुं च इच्छति तर्हि प्रत्यक्षतया wq प्रविश्य रक्षितुं निर्गन्तुं च Enter नुदतु । यथा अधः दर्शितम्।

यदा वयं test.c सञ्चिकां पुनः उद्घाटयामः तदा वयं पश्यामः यत् परिवर्तिता सामग्री अद्यापि तस्मिन् अस्ति यदि वयं तां विना सेव् कर्तुम् इच्छामः तर्हि वयम् एतां पङ्क्तिं विलोपयामः, ततः colon: इति प्रविष्ट्वा q इति प्रविशति । ततः यदा भवान् एतत् पाठं उद्घाटयति तदा भवान् द्रष्टुं शक्नोति यत् लोपितानि वस्तूनि न रक्षितानि सन्ति, यस्य अर्थः अस्ति यत् अस्माकं पूर्वक्रियाः न रक्षिताः सन्ति । यथा अधः दर्शितम्।

यदि वयं प्रत्यक्षतया निर्गन्तुं इच्छामः तर्हि तस्य अर्थः अस्ति यत् वयं केवलं सञ्चिकां उद्घाटितवन्तः अन्तः सामग्रीं च अवलोकितवन्तः वयं प्रत्यक्षतया प्रविष्टाः सञ्चिकां न सम्पादितवन्तः :प्र भवन्तः निर्गन्तुं शक्नुवन्ति। यथा अधः दर्शितम्।

रक्षणानन्तरं vim सम्पादकः स्वयमेव अस्माकं कृते test.c सञ्चिकां रक्षति, यथा अधोलिखिते चित्रे दर्शितम् अस्ति । अस्माकं पूर्वं test.c सञ्चिका नासीत् ।

अतः अस्माकं कृते अत्र सञ्चिकां निर्मातुं आवश्यकता नास्ति अत्र test4.c इति नामकरणं कृत्वा प्रत्यक्षतया प्रविशतु । vi परीक्षण4.ग , अस्माकं मार्गे एतादृशी सञ्चिका नास्ति, ततः vim सम्पादकः प्रथमं एतां सञ्चिकां निर्मातुं साहाय्यं करिष्यति, ततः उद्घाटयति, ततः वयं तां रक्षित्वा ls इत्यनेन अवलोकयामः, येन अस्माकं अस्मिन् मार्गे test4.c भवति यथा अधः दर्शितम्।

6.11 vim editor सञ्चिकानां तुलना

vimdiff सञ्चिका१ सञ्चिका२ सञ्चिका३

ततः vim editing इत्यस्य अन्यत् कार्यं वयं vimdiff इत्यस्य उपयोगं कुर्मः परिणामः अधोलिखिते चित्रे यथा दर्शितः तथा भवति ।

vimdiff test.c परीक्षण4.ग

अस्माकं अधिकांशः द्वयोः सञ्चिकायोः तुलनां करोति अवश्यं, अयं आदेशः द्वयोः अधिकयोः सञ्चिकायोः तुलनां अपि कर्तुं शक्नोति, यथा अधोलिखिते चित्रे दर्शितम् ।

vimdiff test.c परीक्षण4.c परीक्षण3.ग

अस्माकं vim editor इत्यस्य परिचयः प्रथमं अत्र भविष्यति।