субота, 27 априла, 2024
Слободни професионалац

Ратови едитора

Аутор: Никола Харди

Рат едитора (енгл. editor war) је чест назив за ривалство корисника vi и Emacs текст едитора. Оба наведена програма се, на неки начин, сврставају у врло напредне и зреле програме међутим, њихове карактеристичне особине се врло разликују. Оба наведена програма одликује минималистички изглед у односу на друге познате едиторе текста, као што су на пример: LibreOffice Writer, Geany и Kate. Друга врло карактеристична особина је што пружају напредне могућности за управљање искључиво помоћу тастатуре.

Vi

Vi је, као и Emacs, програм који се развија већ више од тридесетак година а настао је еволуцијом још старијих едитора текста као што су ed и ex. За ex је било својствено то што је текст уношен и уређиван уписивањем наредби. Vi је првенствено био графички режим рада за ex а сам назив vi је добио по скраћеници за наредбу visual у ex-у. Vi још увек подржава и ex режим рада. У почетку је потребно уложити одређену количину времена како би основни проблеми са којима се почетници срећу били савладани.

Први проблем са којим се почетници срећу је тај што, када отворе програм за писање текста, они желе да пишу, а vi им то не дозвољава. Реч је о 3 режима рада (mode): нормални (normal), режим за писање (insert) и визуелни режим (visual). У нормалном режиму рада, у којем се vi налази чим је покренут, корисник може да позиционира курсор на жељено место у тексту, да уклони или убаци део текста, мења подешавања програма, позива команде и све остало што не спада у писање. У режим писања је могуће прећи на више начина у зависности шта желимо да урадимо пре или после преласка у режим за писање. Могло би се рећи да у овом нормалном режиму рада ниједна типка на тастатури заправо не бележи нови знак у текст, што многима у почетку није нормално. У режим за писање је могуће прећи уписивањем i, a, o, O, r, cw или c0, c$ и на много других начина. Ово је други проблем, много пречица које треба попамтити. Трик је у томе да не треба попамтити све те силне пречице већ у почетку треба научити само оне које су неопходне и њих користити неко време. Касније, када приметите да на одређену рутину губите време, потражите мало по интернету и сигурно ћете наћи решење. Повратак у нормалан режим се врши притиском на ESC. Притискање типке ESC корисницима овог едитора постаје рефлексна радња. Улога визуелног режима је, пре свега, означавање дела текста – селекција. У визуелни режим се прелази притиском на v или V а затим се текст означава померањем курсора (наравно, за то служе h, j, k и l). Притиском на v, прелази се у режим за селектовање „слово по слово“, као што би се то радило и показивачем миша. „Велико V“ покреће визуелни режим за означавање читавих редова. Када је део текста означен он може бити уклоњен, измењен, копиран или нешто треће, на пример сортиран.

Трећи проблем са којим се почетници могу сусрести (или смо ми то видели као проблем) је „а зашто би се неко мучио тиме?“ Следи листа најчешћих разлога и објашњења:

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

* Vi је конзолни програм, изузетно лаган по питању ресурса и представља стандард (налазио се и најчешће се још увек налази на већини Unix-оликих система). Постоје и разне нове верзије од којих су међу најомиљенијим Vim (vi improved) са својим графичких окружењем gVim, elvis, nvi, итд.

* У изузетно снажној спрези је са системским алатима што значи да су алати, као на пример pipe, врло употребљиви. Ово у пракси значи да излаз било које shell команде можете сачувати у едитору или било којом командом обрадити текст који се тренутно налази у едитору.

* Велики број скрипти и проширења помоћу којих vi постаје едитор по мери.

Преостало је да споменемо још само нешто. Vi је едитор текста у поприлично уском смислу тог израза, а то значи да је помоћу њега могуће уређивати само текстуалне датотеке. То никако не умањује његову употребну вредност јер се у комбинацији са алатом какав је LaTeX могу постићи изузетни резултати. Иако је vi оригиналан програм о којем се толико прича, вероватно је vim сада могуће много чешће срести. Овај текст није упутство или водич за учење, а право место за почетак vi/vim пустоловине је vimtutor који стиже уз vim. За напредније теме постоје опширнији приручници као што је то рецимо „Vim Book“.

Emacs

Са друге стране, Emacs важи за робустан едитор који у себи садржи заиста исцрпан низ додатака разне намене, e-mail клијент, тетрис, календар па чак и личног психотерапеута. Код Emacs-а режими односно модови имају другачије значење него у vi/vim контексту. Emacs режими су више налик скриптама које има vi. Можда почетници лакше прихватају Emacs него Vi из разлога што је више налик класичним едиторима, нема три стална режима као vi (normal, insert и visual) и није потребна никаква посебна акција да би се почело са уносом новог текста. Друга значајна разлика је што пречице на тастатури више нису доступне само у једном одређеном режиму већ се активирају комбинацијом тастера. Дакле, када је притиснута типка са словом, подразумева се да желите да упишете то слово, а ако желите да урадите нешто посебно, за то је потребно притиснути неку од специјалних типки (ctrl, alt, shift). Emacs је на гласу да троши много хардверских ресурса док је vi заиста минималистичко решење, али у данашње време овај критеријум се може и занемарити.

Неки од адута које крије Emacs су и:

* „ASCII art“ цртање

* Напредан рад са табелама у текстуалним документима (.txt)

* Emacs није само текстуални едитор и има битно бољу подршку за приказ графичких елемената, као што су: фотографије, шеме или математичке формуле

Корисни линкови:

[1] http://www.vim.org/
[2] http://www.yolinux.com/TUTORIALS/LinuxTutorialAdvanced_vi.html
[3] Vim Book (PDF)
[4] http://www.gnu.org/software/emacs/