Режимы работы

Разработчик любой мало-мальски приличной программы сталкивается с проблемой -- как донести до пользователя основные возможности программы и как сделать их использование максимально эффективным. В деле донесения хорошо работает грамотная документация с приличным поиском, книги и разнообразные users guide44...

В деле же максимизации эффективности использования возможностей в работе также существует нескольно основных подходов. Во первых -- поместить все функции в единое меню. Это работает для довольно небольшого числа функций. Когда же их сотни, а часто используется достаточно большое их подмножество этого явно не достаточно. Впрочем некоторые все же идут и таким путем (к примеру xemacs), но в качестве дополнения к основному варианту, которым в emacs, например, являются длинные составные хот-кеи.

Есть и дальнейшее развитие подобной мысли. Почему мы ограничивается единственной отправной точкой -- режимом редактирования? Когда любая буква отобразается на экране и соответственно не может быть первой в команде. Да и не так уж и часто приходится набирать текст -- не чаще, чем его редактировать...

Посему в ViMреализована концепция многорежимности. Есть режим для ввода текста, для ввода команд, для оперироания блоками и тому подобное.

Постараюсь перечислить основные режимы работы:

основной
 -- предназначен, для просмотра и редактирования файла, а также для перехода из него в другие режимы. Из любого режима в командный можно попасть по нажатии (иногда два раза) <ESC>.

командный
 -- при нажатии ``:'' в основном режиме вам становится доступна командная строка ViMв которой вы можете вводить команды. Пока запомните 3 из них - команда выхода quit (ViM понимает сокращения, так что вы можете писать q), команда сохранения write (или w), параметром которой может быть имя файла и вызов справки по, очевидно, help (или h).

визуальный
 -- предназначен в первую очередь для выделения блоков текста. Для запоминания предлагаются 3 варианта перехода в этот режим - v для посимвольного выбора, <Shift>+v для построчного и <Ctrl>+v для блочного. Вы также можете перемещаться между концами выделения по команде ``o'' и ``O''. В нормальном режиме (при переходе по ``v'') вы можете оперировать следующими сущностями: слово (``w''), предложение (``s''), параграф (``p'') и блок (``b''). Выделение при этом начинать с позиции курсора (``a''), или же с начала блока (``i''). Например, выделение текущего блока (участка, ограниченного парными элементами) можно произвести следующим образом -- <Esc>vib45. Копирование в буфер выделенного текста осуществляется по ``y'', вырезание по ``d'' а вставка соответственно ``p''.

режим редактирования
 -- переход на него осуществляется, к примеру, нажатием <Ins>.

режим поиска
 -- становится доступен при нажатии ``/'' (или ``?'') в основном режиме. Возможен и инкрементный поиск (то есть результат поиска отображается сразу по вводе очередной буквы) если вы установите переменную ``incsearch'' в вашем конфигурационном файле.



Сноски

... guide44
Также весьма любопытна идея пользовательских агентов, пока не получившая должного распространения, за исключение малоэффективных и откровенно примитивных поделок на манер майкроссофтовского скрепыша...
...<Esc>vib45
То же отностится и к основному режиму. Так, для удаления текущего блока можете воспользоваться командой dab (``delete a block'')

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888



Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости