Линук

Пронађите и замените у Вим / Ви

Пронађите и замените у Вим / Ви

Овај чланак описује како пронаћи и заменити текст у Вим / Ви.

Вим је најпопуларнији уређивач текста у командној линији. Долази прединсталиран на мацОС и већину Линук дистрибуција. Проналажење и замена текста у Виму је брзо и једноставно.

Основно проналажење и замена #

У Виму можете пронаћи и заменити текст помоћу : замена (: с) наредба.

Да бисте покренули команде у Виму, морате бити у нормалном режиму, подразумеваном режиму приликом покретања уређивача. Да бисте се вратили у уобичајени режим из било ког другог режима, само притисните тастер „Есц“.

Општи облик наредбе замене је следећи:

: [опсег] с / образац / низ / [заставице] [цоунт] 

Команда претражује сваки ред у [домет] За шаблон, и замењује га с низ. [цоунт] је позитиван цео број који множи наредбу.

Ако не [домет] и [цоунт] дати су, замењује се само образац пронађен у тренутној линији. Тренутна линија је линија на коју се поставља курсор.

На пример, да бисте претражили прво појављивање низа „фоо“ у тренутној линији и заменили га са „бар“, користили бисте:

: с / фоо / бар / 

Да бисте заменили све појаве узорка претраживања у тренутној линији, додајте знак г застава:

: с / фоо / бар / г 

Ако желите да претражите и замените образац у целој датотеци, користите знак процента % као домет. Овај знак означава опсег од првог до последњег реда датотеке:

:% с / фоо / бар / г 

Ако је низ део је изостављен, сматра се празним низом, а подударни образац се брише. Следећа команда брише све инстанце низа 'фоо' у тренутној линији:

: с / фоо // г 

Уместо косе црте (/), можете користити било који други не-алфанумерички једнобајтни знак, осим као граничник. Ова опција је корисна када имате знак '/' у обрасцу за претрагу или заменском низу.

: с | фоо | бар | 

Да бисте потврдили сваку замену, користите ц застава:

: с / фоо / бар / гц 
заменити траком (и / н / а / к / л / ^ Е / ^ И)? 

Притисните г да замени шибицу или л да замени утакмицу и да отказ. Притисните н да прескочи меч и к или изаћи да напусти замену. Тхе а опција замењује утакмицу и све преостале појаве утакмице. Да бисте померали екран надоле, користите ЦТРЛ + И, а за померање нагоре користите ЦТРЛ + Е.

Као образац за претрагу можете да користите и регуларне изразе. Команда испод замењује све редове који почињу са 'фоо' са 'Вим је најбољи':

:% с / ^ фоо.* / Вим је најбољи / гц 

Тхе ^ Симбол (карета) одговара почетку реда и .* одговара било којем броју било којих знакова.

Осетљивост на велика и мала слова #

Подразумевано, операција претраживања разликује велика и мала слова; тражење „ФОО“ се неће подударати са „Фоо“.

Да бисте занемарили мала слова за образац претраживања, користите и застава:

: с / Фоо / бар / ги 

Други начин за присилно игнорисање предмета је додавање \ ц по обрасцу претраживања. На пример, / Линук \ ц врши игнорисање великих и малих слова.

Ако сте променили подразумевану поставку великих и малих слова и желите да извршите претрагу осетљивих на велика и мала слова, користите Ја застава:

: с / фоо / бар / ги 

Велико слово \ Ц након што образац такође налаже претрагу подударања великих и малих слова.

Опсег претраживања #

Када није наведен опсег, наредба замене ради само у тренутној линији.

Опсег може бити један ред или распон између две линије. Спецификатори линија одвојени су знаком , или ; ликова. Опсег се може одредити помоћу апсолутног броја линије или специјалних симбола.

На пример, да бисте заменили све појаве 'фоо' у 'бар' у свим редовима који почињу од реда 3 до реда 10, користили бисте:

: 3,10с / фоо / бар / г 

Опсег је инклузиван, што значи да су први и последњи ред укључени у опсег.

Тачка . знак означава тренутну линију и $ - знак долара последњи ред. Да бисте заменили „фоо“ у свим редовима који почињу од тренутног до последњег:

:.,$ с / фоо / бар / 

Спецификатор линије такође се може поставити помоћу симбола '+' или '-', након чега следи број који се додаје или одузима од претходног броја реда. Ако је број након симбола изостављен, подразумевано је 1.

На пример, да бисте заменили сваки „фоо“ са „бар“ почевши од тренутне линије и четири следећа реда, унесите:

:.,+4с / фоо / бар / г 

Замена целе речи #

Команда замене тражи образац као низ, а не као целу реч. Ако сте, на пример, тражили „гну“, претрага проналази подударања где је „гну“ уграђен у веће речи, као што је „цигнус“ или „магнум“.

Да бисте потражили целу реч, откуцајте \< да бисте означили почетак речи, унесите образац за претрагу, унесите \> да означим крај речи:

На пример, за претрагу речи „фоо“ коју бисте користили \:

: с / \/ бар / 

Замена историје #

Вим прати све наредбе које покренете у тренутној сесији. Да бисте претражили историју претходних заменичких команди, унесите : с и користите тастере са стрелицама горе / доле да бисте пронашли претходну замену. Да бисте покренули команду, једноставно притисните Ентер. Такође можете уредити наредбу пре извођења операције.

Примери #

Редови коментара (додај # пре реда) од 5 до 20:

: 5,20с / ^ / # / 

Раскоментаришите редове од 5 до 20, вратите претходне промене:

: 5,20с / ^ # // 

Замените све случајеве „јабука“, „наранџа“ и „манго“ са „воће“:

:% с / јабука \ | поморанџа \ | манго / воће / г 

Уклоните празни размак на крају сваког ретка:

:% с / \ с \ + $ // е 

Закључак #

Претраживање и замена је моћна карактеристика Вима, која вам омогућава брзо мењање текста.

Слободно оставите коментар ако имате питања.

Како користити АутоКеи за аутоматизацију Линук игара
АутоКеи је услужни програм за аутоматизацију радне површине за Линук и Кс11, програмиран на Питхон 3, ГТК и Кт. Користећи његову скриптну и МАЦРО функ...
Како приказати бројач ФПС-а у Линук играма
Линук гаминг добио је велики потицај када је Валве најавио Линук подршку за Стеам клијент и њихове игре 2012. године. Од тада су многе ААА и индие игр...
Како преузети и играти Сид Меиер'с Цивилизатион ВИ на Линук-у
Увод у игру Цивилизатион 6 је модерни поглед на класични концепт представљен у серији игара Аге оф Емпирес. Идеја је била прилично једноставна; започе...