Обе стране последње ревизијеПретходна ревизијаСледећа ревизија | Претходна ревизијаСледећа ревизијаОбе стране следеће ревизије |
sr:slackbook:vi [2013/08/29 18:26 (UTC)] – slackmuz | sr:slackbook:vi [2013/09/19 22:28 (UTC)] – slackmuz |
---|
**//vi//** је веома моћан, а у исто време гломазан и захтеван за нове кориснике који желе да га науче. Ипак, овладавање **//vi//**-јем је важна вештина за било ког администратора који држи до себе, јер је **//vi//** укључен у скоро сваку Линукс дистрибуцију, сваки БСД систем, и сваки Јуникс систем који постоји. Чак је укључен и у МекОС X. Једном, када научите **//vi//**, нећете имати потребу за изучавањем других уређивача текста, како бисте радили на било ком од ових система. Заправо, **//vi//** клонови су портовани на Мајкрософт Виндоуз системе, тако да га и тамо можете користити. | **//vi//** је веома моћан, а у исто време гломазан и захтеван за нове кориснике који желе да га науче. Ипак, овладавање **//vi//**-јем је важна вештина за било ког администратора који држи до себе, јер је **//vi//** укључен у скоро сваку Линукс дистрибуцију, сваки БСД систем, и сваки Јуникс систем који постоји. Чак је укључен и у МекОС X. Једном, када научите **//vi//**, нећете имати потребу за изучавањем других уређивача текста, како бисте радили на било ком од ових система. Заправо, **//vi//** клонови су портовани на Мајкрософт Виндоуз системе, тако да га и тамо можете користити. |
| |
===== Различити режими у vi-ју ===== | ===== Различити режими у vi уређивачу ===== |
| |
| Нови корисници су углавном фрустрирани када први пут користе **//vi//**. Када се позове без аргумената, **//vi//** ће приказати овакав екран: |
| |
| <code> |
| |
| ~ |
| ~ |
| ~ |
| ~ |
| ~ |
| ~ |
| ~ |
| ~ |
| ~ |
| ~ |
| ~ |
| Command |
| </code> |
| |
| Овде ће корисник почети да куца очекујући да се тастери које је притиснуо појаве у документу. Уместо тога, десиће се нешто сасвим чудно. Разлог за ово је једноставан. **//vi//** има различите оперативне //режиме//. Постоји командни режим (енгл. command mode)и режим уписивања текста (енгл. insert mode). Подразумевани је командни режим; у овом режиму свака команда (тастер) представља одређену акцију као што је померање курсора, брисање текста, умножавање текста, претрага итд. |
| |
| ===== Отварање, снимање и напуштање ===== |
| |
| У реду, дакле одлучили сте се да учите коришћење **//vi//**-ја. Прва ствар коју треба да научите је како да отворите и снимите документе. Отварање фајлова је прилично лак посао. Једноставно укуцајте име фајла као аргумент у командној линији и **//vi//** ће га учитати. На пример, |
| |
| <code>vi chapter_11.xml</code> |
| |
| отвара фајл //chapter_11.xml// и учитава његов садржај на екрану. Али шта кад завршимо са документом и желимо да га снимимо? То можемо учинити из командног режима коришћењем команде //:w//. У командном режиму притиском на тастер <key>':'</key> позиционирате курсор на само дно прозора и тиме добијате могућност уношења потребних команди. (Ово је стручно познато као ex-режим по цењеној **//ex//** апликацији коју нећемо овде документовати). Команда за снимање тренутног рада је //:w//. Када буде извршена, **//vi//** ће исписати промене начињене у баферу у фајл. Уколико желите да отворите други документ, једноставно користите команду //:e други_документ// и **//vi//** ће га отворити. Ако сте начинили измене у баферу и нисте их снимили, //:e// се неће извршити и штампаће поруку упозорења у доњој линији. Можете заобићи ово упозорење //:e!// командом. Многе команде се могу //присилити// додавањем знака <key>'!'</key>. Ово говори **//vi//** уређивачу да желите да одбаците измене које сте начинили у баферу и да отворите нови документ. |
| |
| Али шта ако ми се не свиђају измене и желим да напустим документ или да почнем испочетка? То се, такође, лако постиже. Извршавањем команде //:e!// без аргумената поново отварате тренутни документ испочетка. Напуштање **//vi//** уређивача је исто тако крајње једноставно: извршавањем //:q// команде уколико нисте начинили измене у баферу, или //:q!// команде уколико желите да одбаците начињене измене и напустите **//vi//** уређивач. |
| |
| ===== Кретање ===== |
| |
| Новим корисницима је најтежа ствар за учење управо кретање кроз **//vi//**. **//vi//** традиционално не користи тастере стрелице за померање курсора, мада је то у Слакверу опција. Уместо тога, кретање је само још једна команда покренута у командном режиму. Разлог за ово је крајње једноставан. **//vi//** је старији од тастера стрелица на тастатури. Зато је за померање курсора морало да се изабере неколико преосталих тастера и одабрани су тастери који се при слепом куцању користе као орјентир за десну руку, а то су <key>'h'</key>, <key>'j'</key>, <key>'k'</key>, и <key>'l'</key>. Овим тастерима се помера курсор увек кад је **//vi//** у командном режиму. Ово је мала табела како бисте схватили како ови тастери функционишу. |
| |
| ^Command ^ Result ^ |
| |h|Помера курсор за једно место лево| |
| |j|Помера курсор за једно место доле| |
| |k|Помера курсор за једно место горе| |
| |l|Помера курсор за једно место десно| |
| |
| Кретање је мало моћније од овог простог примера. Попут многих командних тастера, овим тастерима за кретање могу бити додати нумерички аргументи. На пример, **10j** ће померити курсор 10 линија доле. Можете се, такође, померити на крај или почетак тренутне линије тастером <key>'$'</key> односно <key>'^'</key>. |
| |
| ===== Уређивање документа ===== |