Открытие файла
vi опции имя_файла
vi опции имя_файла
- +номер — переместить курсор к указной строке после запуска.
- +/шаблон — выполнить поиск по шаблону и переместить курсор к первому вхождению
- +команда — выполнить команду после запуска программы
- -b — двоичный режим, для редактирования исполняемых файлов
- -d — режим поиска различий в файлах, нужно указать несколько файлов для открытия
- -g — графический режим
- -n — не использовать автосохранение для восстановления файла при сбое
- -R — режим только для чтения
- -w — сохранить все действия в файл
- -x — шифровать файл при записи
- -C — режим совместимости с Vi
Открытие нескольких файлов
vi имя_файла1 имя_файла2 имя_файла3
Переключение на 3 открытый файл
:buffer 3
Просмотр всех открытых файлов
:buffers
Поиск и замена всех вхождений "idiot" в документе на "manager"
:%s/\<idiot\>/manager/gc
Эта команда состоит из:
: - переход в командный режим
% - вполнять для всех строк документа
s - краткая форма записи команды :substitute (Замена)
/ - флаг полей икомое и замена
\< - начало слова
\> - конец слова
g - заменить все вхождения, а не только первое в каждой строке
с - спрашивать перед каждой заменой
Перемещение фрагмента текста с помощью маркера
Последовательность действий:
1)Ставим курсор в начало фрагмента текста
2)Создаем маркер "а", нажав в командном режиме ma (m - сокращение marker)
3)Перемещаем курсор в конец фрагмента
4)Нажимаем d'a удаляя таким образом маркированный текст
5)Перемещаем курсор в позицию вставки фрагмена
6)Нажимаем p
Для отображения всех символов включаем режим списка
:set list
Установка длинны строки
:set wrapmargin=70
Удаление ^M в конце строк из файлов с кодировкой MS-DOS
:1,$s/{Ctrl+V}{Ctrl+M}//{Enter}
- : - командный режим
- 1 - с первой строки
- $ - до последней строки
- s - краткая форма записи команды :substitute (Замена)
- / - символы определяющие начало и конец поля текста
- {Ctrl+V}{Ctrl+M} - {Ctrl + V} указывает Vim обрабатывать {Ctrl + M} символ как обычный символ, даже если он является особым
- {Enter} - будет рассматриваться как {Enter} без {Ctrl + V}.