|
|
* 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