Как пользоваться vim windows

Редактор VIM как пользоваться, инструкция команд

Vim — один из наиболее функциональных текстовых редакторов для интерфейса командной строки. Построенный на основе “vi”, редактора 1976 года, vim мощнее и обладает дополнительными возможностями, сохраняя подход своего предшественника к работе с текстами.

Установка

Редактор есть практически в любом стандартном репозитории каждого дистрибутива Linux. Воспользуйтесь своим установщиком пакетов (например, yum для CentOS):

После этого vim должен корректно установиться.

Запуск Vim

Если не указывать никаких агрументов открывается пустой файл. В зависимости от вашего дистрибутива могут присутствовать представление и информация о лицензии.
Когда вы начнете пользоваться редактором, они пропадут. Чтобы открыть файл, укажите его имя. Например, далее мы создадим файл “newfile” и откроем его в vim.

Открытие файла при помощи vim:

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

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

Нормальный режим

Режим по умолчанию, в котором vim находится после запуска. Применяется для быстрой навигации по документу и редактирования: в нем можно копировать, вставлять, перемещать, удалять и изменять текст. Переход из других режимов осуществляется нажатием клавиши «escape». Для набора текста не используется.

Режим вставки

Для набора текста нужно перейти в режим “вставки”. Он похож на интерфейс набора текста многих других программ. Вводимый вами текст появляется на экране в документе, каждая клавиша соответствует своему символу. Перейти в этот режим можно следующим образом:

i — в текущем положении курсора
a — на следующем символе после текущего положения
I — в начале текущей строки
A — в конце текущей строки

Режим визуального выделения

Позволяет визуально выделять текстовые фрагменты. Затем к ним можно применять команды нормального режима для редактирования или форматирования.

v — режим обычного (посимвольного) визуального выделения перемещением курсора вверх, вниз, влево или вправо

V — режим построчного визуального выделения. Строки выделяются целиком перемещением вверх или вниз

[ctrl]-v — режим блочного визуального выделения. Выделяется прямоугольный участок, который можно увеличивать и уменьшать. Позволяет выбирать фрагменты нескольких линий.

Перемещение

Вы всегда можете передвигаться по документу стрелками, но vim предоставляет более быстрый и удобный способ. В нормальном режиме для навигации применяются следующие клавиши:

h — перемещение влево
j — перемещение вниз
k — перемещение вверх
l — перемещение вправо

Сначала эти клавиши могут показаться непонятными и неинтуитивными, но они были выбраны потому, что находятся в среднем ряду на стандартной клавиатуре. Это значит, что рука пользователя проходит от положения покоя значительно меньшее расстояние, чем при использовании стрелок.

Также есть дополнительные функции навигации, вот несколько наиболее важных:

gg — переход в начало документа
G — переход в конец документа. Если предварительно ввести номер — переместиться на строку с этими номером
w — перемещение к следующему слову. Если предварительно ввести количество — переместиться на это количество слов
b — перемещение к предыдущему слову. Если предварительно вввести количество — переместиться на это количество слов назад
e — перемещение к концу слова. Если предварительно указать количество — переместиться на указанное количество слов
0 — перемещение к началу строки
$ — перемещение к концу строки

Читайте также:  Windows 10 pro x64 оригинальные образы iso

Поиск текста

Что бы найти фрагмент текста, нужно перед текстом поиска ввести слэш «/» и нажать enter

Если же наоборот нужно сделать явное задание регистрозависимого поиска используйте комбинацию «/\C»

Что бы найти следующий фрагмент нажмите «n» предыдущий «N»

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

Редактирование выполняется посредством команд в нормальном режиме. Они очень эффективны в комбинации с командами перемещения. Любая команда из раздела перемещения может задать направление. Например, можно удалить или скопировать одно слово, указав “w” за соответствующей командой.

Рассмотрим наиболее употребимые действия.

Удаление текста

x — удалить символ на позиции курсора
d — удалить в заданном командой перемещения направлении. Например, “dl” удаляет один символ справа
dd — удалить строку
D — удалить все символы от положения курсора до окончания строки

Замена текста

r — заменить символ на позиции курсора заданным после команды символом
c — заменить в заданном командой перемещения направлении. Например, “cb” заменяет предыдущее слово. Для набора текста на замену запускается режим вставки.
C — заменить до окончания строки. Текст на замену набирается в режиме вставки.

Копирование и вставка

y — копировать в заданном далее направлении
yy — копировать всю строку
Y — копировать до окончания строки
p — вставить последнюю скопированную (или удаленную!) строку ниже текущей
P — вставить последнюю скопированную (или удаленную!) строку выше текущей

Дополнительные команды редактирования

u — отменить последнее действие
-r — вернуть последнее отмененное действие
J — присоединить строку ниже к текущей

Командный режим

Используется для продвинутого редактирования, изменения параметров и управления. В нем выполняется сохранение, выход из программы, продвинутый поиск и многое другое. Активируется клавишей двоеточия “:”.

Команды управления

Команды управления задаются вводом “:” перед каждой командой.

:q — выход из программы. Действие не будет выполнена, если не сохранить изменения
:q! — выход из программы с отменой всех изменений, которые не были сохранены
:w — сохранить изменения. При первичном сохранении или сохранении в другой файл укажите имя через пробел
:e — редактировать указанный далее файл
:bn — редактировать следующий файл (если открыто несколько файлов)
:bp — редактировать предыдущий файл (если открыто несколько файлов)
:qw – сохранить файл и выйти

Объединение команд

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

Например, для копирования 5 слов представьте эту фразу как команды, которые понимает vim. Это будет выглядеть так:

:y5w (y — копировать, 5 — количество, w — слов)

Удалить текст от текущей позиции до окончания файла:

:dG (d — удалить, G — переход в конец файла)

Также полезно усвоить ряд используемых в действиях vim принципов. Например, сдвоенный символ обычно распространяет действие команды на всю строку. Следующая команда скопирует не один символ, а строку целиком:

:yy

С другой стороны, соответствующая команде заглавная буква часто действует от положения курсора до окончания линии. В случае с изменением текста это будет следующая команда:

Читайте также:  Как вернуть переключение языков windows

:C

Чтобы выполнить операцию с несколькими символами или строками, укажите перед командой число. Например, такая команда заменит весь текст от текущего положения курсора до окончания следующей строки:

:2C

Заключение

Vim — очень мощный инструмент, но рассмотрение многих его функциональных возможностей выходит за пределы этой статьи. Если вы хотите узнать больше, полезно начать со встроенного в vim обучающего интерфейса:

В нем не рассматриваются тонкости, но он позволит вам разобраться в работе vim и освоить основы редактирования.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Как отсюда выйти: шпаргалка по Vim

Вы собираетесь создать файл crontab и внезапно оказываетесь в этом странном редакторе по умолчанию. В том, в котором всё никак не разберётесь.

ESC? Ничего не произошло. CTRL + C? Нет. ESC ESC ESC? Неа. Вы в тупике.

Ну вот, опять. Склонив голову от стыда, вы запускаете очередной терминал, чтобы исполнить команду killall vim и продолжить заниматься своими делами.

С вами бывало такое? Конечно, бывало. Что ж, потратив несколько минут на эту статью, вы познакомитесь с основами редактора Vim (и научитесь быстро выходить из него).

Vim по умолчанию установлен во многих операционных системах (включая большинство дистрибутивов Linux и macOS), поэтому хотя бы поверхностные знания о нём лишними не будут. Откройте терминал и введите vim .

19–21 апреля, Онлайн, Беcплатно

В умелых руках Vim может стать мощнее многих IDE. И, разумеется, он не ест сотни мегабайт памяти лишь для отображения пустого файла (да, Eclipse, это о тебе).

Основы

Некоторые из нижеописанных команд начинаются с двоеточия: нажав его, появится подсказка, в которой будет указана полная команда. Команды без двоеточий — это скорее горячие клавиши, которые можно использовать в режиме по умолчанию (в нём запускается Vim). Команды, написанные ЗАГЛАВНЫМИ БУКВАМИ — это отдельные клавиши: например, ESC — это клавиша Esc на вашей клавиатуре.

Все команды чувствительны к регистру и должны выполняться вне режима insert.

Выход из Vim

Выход без сохранения изменений:

Как запомнить: quit dammit! (закройся, чёрт возьми!)

Выход с сохранением изменений:

Как запомнить: write to disk and quit

Для перемещения по открытому файлу используйте стрелки.

Перемещение на строку 285:

Поиск слова «import»:

Изменение текста

Вставка текста там, где стоит курсор:

Вставка текста в конце текущей строки:

Выход из режима редактирования (возврат в стандартный режим):

Выделение текста

Переход в визуальный режим:

Для выделения текста используйте стрелки.

Выход из визуального режима:

Копирование, удаление, вставка

Копирование выделенного текста в буфер:

Удаление выделенного текста:

Копирование текущей строки в буфер:

Как запомнить: yank yank

Копирование трёх строк, включая текущую, в буфер:

Удаление текущей строки и помещение её в буфер:

Как запомнить: delete delete

Удаление 5 строк, включая текущую:

Вставка из буфера перед текущей строкой:

Вставка из буфера после текущей строки:

Отмена и восстановление последнего изменения

Отмена последнего изменения:

Восстановление последнего отменённого изменения:

Отмена двух последних изменений:

Многоуровневое дерево отката изменений Vim очень мощное, подробнее о нём можно почитать в документации.

Работа с файлом

Открытие файла index.html вместо текущего:

Сохранение текущего файла:

Как запомнить: write to disk

Сохранение файла с изменённым именем, например, changes.txt:

Поиск и замена

Поиск и замена всех вхождений строки в файле:

Поиск и замена с запросом подтверждения замены:

Подсветка синтаксиса и отступы

Включение подсветки синтаксиса:

Включение автоматических отступов:

Увеличение отступов нескольких строк при выделении их в визуальном режиме:

Читайте также:  Форматирование флешки для линукса

Вкладки

Открытие server.py в новой вкладке:

Переход на вкладку справа:

Переход на предыдущую вкладку слева:

Как запомнить: tab previous

Для закрытия вкладки переключитесь на неё и используйте команду :q или :wq .

Разделённый экран

Открытие templates/base.html в режиме вертикального разделения экрана:

Как запомнить: vertical split

Открытие shared.js в режиме горизонтального разделения экрана:

Как запомнить: the ’default’ horizontal split

Перемещение между «частями» экрана:

Для закрытия экрана переключитесь на него и используйте команду :q или :wq .

Настройка Vim: файл .vimrc

Многие команды, используемые для изменения вида и поведения Vim, можно сделать включёнными по умолчанию, поместив их в .vimrc — файл конфигурации Vim, который расположен в домашнем каталоге.

Например, добавление этих строк в

/.vimrc сделает подсветку синтаксиса и автоматическую корректировку отступов включёнными по умолчанию:

Идеи для кастомизации Vim можно почерпнуть в этом GitHub-репозитории.

Полезные ресурсы

Вот ещё несколько полезных материалов для изучения Vim:

А какая команда Vim — ваша любимая? Может, вы знаете удобные приёмчики? Делитесь ими в комментариях!

Консольный VIM в Windows

Введение

Бывают ситуации, когда очень хочется использовать любимый редактор, но под рукой нету *nix операционных систем, либо разработка ведётся на Windows.

Первое что приходит на ум — использование Windows версии gVim, но в этом случае возникает куча проблем с установкой плагинов, переносом конфигов и адаптации всего и вся. Что-то не будет компилироваться без бубна (например Ctrl-p), а что-то падать во время работы.

Cygwin и Mintty спешат на помощь

Качаем с сайта и устанавливаем последнюю версию Cygwin.

При установке выбираем любое зеркало из списка доступных.
Выбираем следующие пакеты:

  • git
  • Vim
  • ruby
  • libsasl2
  • ca-certificates

Пока пакеты качаются и ставятся, самое время добыть удобный терминал. Мой выбор пал на mintty. Установка осуществляется копированием mintty.exe в папку bin Cygwin-а.

Для того, чтобы всё выглядело прилично — его нужно поднастроить. Запускаем mintty, тыкаем правой кнопкой на иконку в левом верхнем углу консольки и выбираем «Options. ».

Выключаем опцию Blinking, чтобы не отвлекало, выбираем привычный Block в качестве курсора.

Выбираем шрифт по вкусу, ставим сглаживание в Full, Locale — C, Character Set — UTF-8.

Очень важно поставить тип терминала в xterm-256color.

Одно несомненное преимущество данного подхода это то, что теперь можно использовать ту же самую конфигурацию Vim, что и в *nix системе. А так же мы получаем в своё распоряжение полноценную консоль и можем работать с Windows файлами с помощью утилит grep, find, ack.

Рекомендую создать приватный репозиторий со всеми конфигами совершенно бесплатно на каком-нибудь Bitbucket. Такие подборки обычно называют dotfiles.

Одним приятным открытием в плане конфигурации Vim-а для меня стал Vimified, который базируется на Vundle.

Его лучше ставить по шагам, а то мало-ли что-то пропустили во время установки Cygwin. Шаги установки подробно расписаны в описании к репозиторию.

Первый запуск Vim может пройти с ошибками из-за того, что предусмотренные конфигурацией пакеты ещё не установлены, но это не страшно.

Перезапускаем Vim. И вот что у нас должно получится после небольших корректировок и правок.

Заключение

В итоге мы получили:

  • Полноценный рабочий Vim
  • Приятная цветовая схема и палитра, которая радует глаз
  • Работает прокрутка колесом мыши (для любителей)
  • Работает изменение размера панелей простым кликом и перетаскиванием

Спасибо за внимание. Надеюсь кому-нибудь пригодится.

Извещения об ошибках — хабрапочтой.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Оцените статью