faqs.org.ru

 Главная > Программное обеспечение > Редакторы >

MiniFAQ по vi

* From: Igor Nikolaev, 2:5030/266 (18 Dec 98)

Я тут минифаку по vi написал в ru.unix.bsd, а потом осознал, что наверное
её надо и в ru.linux толкнуть. Цель - уместить факу в страничке печатного
текста. Предложения, замечания...  Здесь наиболее частые команды. В тексте
апострофы это разделители, а не символы, '^'  - это <Control>.

Вместо vi хорошо бы сразу поставить vim из портов:
cd /usr/ports/editors/vim5beta; make && make install

===

vim - мощный красивый редактор. Знает мышь и X. Больше чем vi,
а внутри того ed.  Есть режим команд, режим текста и режим ed'а.
Знание vi полезно для жизни. Имеет массу функций здесь не описанных.

переходы между режимами: текст  --'esc'-> команды
команды --':'-> ed (выполняется одна команда)

Основные команды режима ed
:q выход
:q! аварийный выход
:w [имя] записать в файл, не указан - в текущий
:r имя  прочитать сюда файл
если имя начинается с ! то это команда shell'а

Таким образом обычный выход из редактора это ':wq'

:s/образец/замена/g  заменить в текущей строке,
если без 'g' то только один раз, 'с' спрашивает подтверждения
:s1,$/образец/замена/g  заменить с первой до последней строки
:d10,20 сожрать строки от 10 до 20
:15 встать на 15 строку
.,$-10  это от текущей строки до (последней минус десять) строки
:set работа с параметрами :help помощь

Основные команды vi: работают стрелочки, можно без них:
      ^
< h j k  l >    Те: 'h' влево, 'j' вниз, 'k' вверх, 'l' вправо.
    v
Перед любой командой можно повторитель, '20j' это 20 строчек вниз.

'w' и 'W' слово вправо, 'b' и 'B' слово влево.
У 'W' и 'B' разделители только пробелы и табы.
'e' как 'w' но до пробелов, '$' в конец строки, '0' в начало.
'^F' и '^B' это pagedown и pageup, 'x' и 'X' это delete и backspace
'u' это undo, 'U' undo строки в исходное состояние.
В vim есть '^r' redo, '^g' - статус файла.

'dперемещение' это cut, 'dw' ест слово, 'dd' строку, 'D' cut до eol,
'y' - copy, 'p' и 'P' paste до/после курсора.

Печатать текст: 'i' или 'a' (до/за курсором). Конец 'esc' или '^C'.
'^Vсимвол' вставить управляющий символ
'c' это change, после c указываем перемещение - работает как d,
но тут же входит в режим текста.  'rсимвол' заменить один символ.

'j' объединяет (join) две строки в одну через пробел.
'/образец' и '?образец' поиск вперёд/назад, 'n' и 'N' снова
'%' встать на другую скобку '~' поменять регистр символа

vim знает мышку, в xterm жмём shift чтобы получить обычную мышку,
настройка xterm в конце файла /usr/local/share/vim/doc/syntax.txt

Файл ~/.vimrc:
syntax on
set mouse=a
set tabstop=4

Вернуться в раздел "Редакторы" - Обсудить эту статью на Форуме
Главная - Поиск по сайту - О проекте - Форум - Обратная связь

© faqs.org.ru