[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Разлике

Овде су приказане разлике између изабране ревизије и тренутне верзије странице.

Постави везу ка овом компаративном приказу

Обе стране последње ревизијеПретходна ревизија
Следећа ревизија
Претходна ревизија
sr:slackbook:vi [2013/08/28 15:16 (UTC)] slackmuzsr:slackbook:vi [2013/09/20 17:18 (UTC)] (тренутно) slackmuz
Линија 1: Линија 1:
-<note important>This page is still work in progress</note> 
-<note important>Страница је у изради</note> 
- 
 ====== Vi ====== ====== Vi ======
  
Линија 10: Линија 7:
 Укратко, **//vi//** је један од најстаријих и најмоћнијих уређивача текста који се користи и данас. Он је омиљен код администратора, програмера, хобиста и осталих корисника широм света. Заправо, скори цела ова књига је написана уз помоћ **//vi//** уређивача текста; једино следеће поглавље о **//Емаксу//** је написано //Емаксом//. Укратко, **//vi//** је један од најстаријих и најмоћнијих уређивача текста који се користи и данас. Он је омиљен код администратора, програмера, хобиста и осталих корисника широм света. Заправо, скори цела ова књига је написана уз помоћ **//vi//** уређивача текста; једино следеће поглавље о **//Емаксу//** је написано //Емаксом//.
  
 +Потребно је мало дубље објашњење како би се схватило шта је **//vi//** данас, како Слаквер Линукс технички не садржи **//vi//**. Уместо тога, Слаквер нуди два **//vi//** клона: **//elvis//**(1) и **//vim//**(1). Ови клонови садрже многе додатне функционалности у односу на **//vi//**, као што су истицање синтаксе, режими бинарног уређивања и подршку за мрежу. Нећемо ићи много дубоко по питању детаља везано за ове карактеристике. Подразумевано, ако покренете **//vi//** у Слаквер Линуксу, користићете **//elvis//**, тако да ће се сви примери у овом поглављу односити на коришћење поменутог клона. Уколико сте раније користили другу Линукс дистрибуцију, сигурно сте се упознали са **//vim//**-јем. Уколико је тако, можда ћете желети да промените симболички линк за ///usr/bin/vi// да указује на ///usr/bin/vim//, или да додате алиас у покретачке скрипте шкоњке. Сматра се да је **//vim//** много богатији функцијама од **//elvis//**-а, али је **//elvis//** много мањи програм и садржи све оне функције које ће већини корисника бити потребне.
 +
 +**//vi//** је веома моћан, а у исто време гломазан и захтеван за нове кориснике који желе да га науче. Ипак, овладавање **//vi//**-јем је важна вештина за било ког администратора који држи до себе, јер је **//vi//** укључен у скоро сваку Линукс дистрибуцију, сваки БСД систем, и сваки Јуникс систем који постоји. Чак је укључен и у МекОС X. Једном, када научите **//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//** у командном режиму. Ово је мала табела како бисте схватили како ови тастери функционишу.
 +
 +^Команда ^ Резултат ^
 +|h|Помера курсор за једно место лево|
 +|j|Помера курсор за једно место доле|
 +|k|Помера курсор за једно место горе|
 +|l|Помера курсор за једно место десно|
 +
 +Кретање је мало моћније од овог простог примера. Попут многих командних тастера, овим тастерима за кретање могу бити додати нумерички аргументи. На пример, **10j** ће померити курсор 10 линија доле. Можете се, такође, померити на крај или почетак тренутне линије тастером <key>'$'</key> односно <key>'^'</key>.
 +
 +===== Уређивање документа =====
 +
 +Сада када знамо како да отворимо и напустимо документ, као и да се крећемо унутар њега, време је да научимо како да га уређујемо. Основно значење уређивања је улажење у режим уписивања текста притиском на тастере <key>'i'</key> или <key>'a'</key>. Ови командни тастери уносе текст на тренутну позицију курсора или га додају иза тренутне позиције курсора. Када једном приступите режиму уписивања текста, можете нормално да куцате текст који ће бити смештен у документу. Како бисте снимили текст, потребно је да напустите дати режим и пређете у командни притиском на тастер <key>'ESC'</key>.
 +
 +===== Листа пречица у Vi уређивачу текста =====
 +
 +С обзиром да **//vi//** може бити тежак за учење, овде сам припремио листу пречица које ће вам помоћи при обављању основних задатака док се не опустите.
 +
 +^ Команда ^ Резултат ^
 +|h|Помера курсор за једно место лево|
 +|j|Помера курсор за једно место доле|
 +|k|Помера курсор за једно место горе|
 +|l|Помера курсор за једно место десно|
 +|10j|Помера курсор 10 линија доле|
 +|G|Помера курсор на крај документа|
 +|%%^%%|Помера курсор на почетак линије|
 +|$|Помера курсор на крај линије|
 +|dd|Уклања линију (и складишти је у бафер за умножавање)|
 +|5dd|Уклања 5 линија (и складишти их у бафер за умножавање)|
 +|dw|Уклања једну реч (и складишти је у бафер за умножавање)|
 +|5dw|Уклања 5 речи (и складишти их у бафер за умножавање)|
 +|yy|Yank (умножава) линију (и складишти је у бафер за умножавање)|
 +|yw|Yank (умножава) једну реч (и складишти је у бафер за умножавање)|
 +|5yw|Умножава 5 речи (и складишти их у бафер за умножавање)|
 +|p|Налепљује садржај бафера за умножавање на позицију курсора|
 +|P|Налепљује садржај бафера за умножавање изнад позиције курсора|
 +|r|Замењује један знак|
 +|R|Замењује више знакова|
 +|x|Брише знак|
 +|X|Брише претходни знак|
 +|u|Поништава последњу акцију|
 +|:s'old'new'g|Замењује све 'old' са 'new' (само у датој линији)|
 +|:%s'old'new'g|Замењује све 'old' са 'new' (у свим линијама)|
 +|/asdf|Лоцира следећу појаву asdf|
 +|:q|Напушта (без снимања)|
 +|:w|Снима тренутни документ|
 +|:w file|Снима тренутни документ као 'file'|
 +|:x|Снима и напушта|
 +
 +====== Кретање кроз поглавља ======
 +
 +**Претходно поглавље: [[sr:slackbook:working_with_filesystems|Рад са системима датотека]]**
 +
 +**Следеће поглавље: [[sr:slackbook:emacs|Emacs]]**
 +
 +====== Извори ======
  
 +  * Оригинални извор: [[http://www.slackbook.org/beta]] \\
 +  * Изворно писали Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson
 sr:slackbook:vi ()