---
title: 'Текстовый редактор vim | Zomro'
description: 'В данной статье будет рассмотрен текстовый редактор vim - приложение, при помощи которого Вы можете редактировать текстовые файлы непосредственно на сервера'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/another/2022/05/01/1653558097_screenshot_14.png'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Текстовый редактор vim 



# Текстовый редактор vim

31-05-2022

Часто возникает необходимость редактировать текстовые файлы непосредственно на сервере с операционной системой Linux. При установке ОС Linux из наших шаблонов в системе уже доступен текстовый редактор _vi/vim_ , который Вы можете использовать для редактирования текстовых файлов непосредственно на сервере.  
  
Если по какой-то причине он не установлен, то его можно установить выполнив команду установки. Для _rpm-based_ дистрибутивов:
    
    
    yum install vim

  
Для _deb-based_ команда следующая:
    
    
    apt-get install vim

  
На самом деле команды _vi_ и _vim_ могут запускать одно и то же приложение с разными настройками. В более ранних версиях ОС Linux редактор vim может быть не установлен, но всегда есть редактор _vi_.  
  
Для работы с программой нужно войти на сервер используя протокол _SSH_. Например, на Windows установив программу _PuTTY_ , а на Linux или Mac использовать встроенную программу _ssh_. В зависимости от системы Linux, а также программы, которую используете для подключения к серверу, можно производить копирование и вставку из буфера обмена Вашей операционной системы. Например, вставить текст в _PuTTY_ можно при помощи комбинации **SHIFT+INS** , а скопировать - просто выделив текст. К сожалению, не на всех дистрибутивах Linux на сервере это работает.  
  
Для того, чтобы запустить редактор, войдите на сервер по _SSH_ используя любой доступный клиент - встроенный в Вашу ОС или, например, _PuTTY_ и выполните команды:
    
    
    vi
    vim

  
Для существующих можно указывать как абсолютные, так и относительные пути (показан пример с абсолютным путём):
    
    
    vi /путь/к/файлу
    vim /путь/к/файлу

  
Редактор _vi/vim_ более сложный и продвинутый, чем, например, _nano_. Основная его особенность в том, что у него существует два основных режима: _режим команд_ и _режим вставки_. В _режиме команд_ почти каждая буква или комбинация выполняет какую-либо команду. В _режиме вставки_ производится собственно ввод текста. Работа в _командном режиме_ производится только с латинской раскладкой клавиатуры. Для того, чтобы войти в _режим вставки_ , нужно в режиме команд нажать латинскую букву **'i'** или кнопку **INSERT** (если Вы уже находитесь в _режиме вставки_ , под курсором просто будет появляться буква 'i'). Для выхода из _режима вставки_ нажмите **ESC**.  
  
Рассмотрим внешний вид главного окна редактора _vim_.

![Текстовый редактор vim - 1](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/another/2022/05/01/1653558097_screenshot_14.png)

_Изображение 1. Внешний вид редактора vim в командном режиме_

![Текстовый редактор vim - 2](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/another/2022/05/01/1653558766_1653558757308.png)

_Изображение 2. Внешний вид редактора vim в режиме вставки_

  
Программа имеет "чистый", аскетический интерфейс, но возможности её очень большие. Программа разрабатывалась для удобного и быстрого управления исключительно из клавиатуры. Поэтому при открытии файла мы видим только область для редактирования и внизу узкая строка состояния, которая показывает режим (командный, вставки или визуального выделения), дополнительную информацию о введённых командах, которая появляется во время введения комбинированных команд, номер строки и символа в строке. Все элементы настраиваются.  
  
Навигация по тексту также производится иначе, чем у nano и других классических редакторов.  
  
В _командном режиме_ можно перемещаться по тексту используя как стрелки, кнопки **HOME** , **END** , **PG UP** , **PG DOWN** , так и буквы на клавиатуре (_самые главные_ команды будут в конце этого раздела):  
**H** \- влево  
**J** \- вниз  
**K** \- вверх  
**L** \- вправо  
Перемещаться по словам можно используя кнопки **W** и **B**.  
Это сделано для того, чтобы не отрывать глаза от экрана и руки от клавиатуры во время редактирования, что сильно повышает скорость работы. Большинство команд vim выполняются при нажатии обычных букв в _командном режиме_.  
  
В _режиме вставки_ можно воспользоваться стрелочками, но это работает не во всех системах и терминалах.  
  
В редакторе _vim_ также можно производить базовые действия по редактированию, такие как копирование, вставка текста, поиск, замена. Эти кнопки нужно нажимать в _командном режиме_. Следующие команды написаны в качестве шпаргалки:  
**V** \- выделить текст  
**Y** \- копировать  
**D** \- удалить выделенное  
**DD** (последовательно два раза подряд нажать кнопку D) - удалить строку  
**DAW** (последовательно нажать 3 буквы на клавиатуре) - удалить слово  
**X** или **DEL** \- удалить символ под курсором  
**SHIFT+P** \- вставить перед курсором  
**O** \- добавить строку после текущей и перейти в режим редактирования  
**SHIFT+O** \- добавить строку перед текущей и перейти в режим редактирования  
**U** \- отменить действие  
**CTRL+R** \- повторить действие  
**/** (слэш) - поиск по слову  
**N** \- при поиске перейти к следующему найденному  
**SHIFT+N** \- при поиске перейти к предыдущему найденному  
  
Как было указано выше, для входа в _режим вставки_ нужно использовать кнопку **I** или **INSERT**. При этом ввод начнётся перед символом, на котором стоял курсор. Для того, чтобы войти в _режим вставки_ и добавить символы после курсора, нажмите кнопку **A**. Также для того, чтобы войти в _режим вставки_ в начале строки, нажмите **SHIFT+I** , в конце строки - **SHIFT+A**.  
  
Отдельно стоит описать процесс поиска и замены. В редакторе _vim_ для этого используются регулярные выражения. Знакомство с ними - это отдельная тема, выходящая за рамки данной статьи. В общем случае если Вы перейдёте в _режим поиска_ (кнопка **'/'** в _командном режиме_), введёте слово для поиска и нажмёте **ENTER** \- программа найдёт его. Далее нажимайте **N** или **SHIFT+N** для продолжения поиска.  
  
Для того, чтобы заменить одно слово на другое во всём файле в редакторе _vim_ нужно перейти в специальный подрежим _командного режима_ \- _режим команд_ \- и ввести специальную команду. Для перехода в _режим команд_ введите символ **':'** (двоеточие) находясь в _командном режиме_. Введите все символы:
    
    
    :%s/old/new/g

где _old_ \- старое слово, которое необходимо заменить; _new_ \- новое, на которое заменить. В конце - нажать клавишу **ENTER**.  
  
Например, заменю слово _Lorem_ на _Hello_ :

![Текстовый редактор vim - 3](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/another/2022/05/01/1653996484_1653996449589.png)

_Изображение 3. Замена слова в редакторе vim_

После нажатия кнопки **ENTER** :

![Текстовый редактор vim - 4](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/another/2022/05/01/1653996538_1653996488990.png)

_Изображение 4. Замена произведена_

  
Таким образом можно заменить, например, название сайта в дампе базы данных mysql. Пример:
    
    
    :%s/example.com/domain.net/g

  
Теперь самый главный вопрос касающийся редактора _vi/vim_ , а именно: как из него выйти. Для этого нужно перейти в _режим команд_ (нажав **':'** в _командном режиме_) и набрать одну из следующих последовательностей:  
**:q** \- выход, если не были сделаны изменения  
**:q!** \- если были сделаны изменения, но Вы не хотите их сохранять  
**:w** \- записать (сохранить) файл  
**:wq** \- записать файл и выйти  
  
Если с работой редактора _vim_ возникли сложности, то для того, чтобы покинуть редактор и начать всё с начала, нажмите несколько раз клавишу **ESC** для того, чтобы сбросились все промежуточные режимы и чтобы был произведён выход из режима вставки и наберите на клавиатуре **:q!** . При необходимости, несколько раз.

## Вывод

Редактор _vim_ хорошо подойдёт тем, кто желает учиться и узнавать много нового. В опытных руках он может сильно повысить Вашу продуктивность в написании текста и программного кода. Потратив некоторое время на его освоение, Вы уже не захотите использовать какой-либо другой редактор на сервере Linux.

Похожие статьи

[Отключение автоматической установки обновлений Windows](https://zomro.com/rus/blog/faq/426-otklyuchenie-avtomaticheskoj-ustanovki-obnovlenij-windows) [Как купить лицензию ISPmanager](https://zomro.com/rus/blog/faq/625-how-to-purchase-an-ispmanager-licence) [Как установить PHP 8.* - 5.* на Ubuntu 24.04](https://zomro.com/rus/blog/faq/659-how-to-install-php-85-on-ubuntu-2404) [Команда ps в действии: 30 примеров для продвинутого мониторинга Linux - Часть 2](https://zomro.com/rus/blog/faq/520-ps-command-in-action-30-examples-for-advanced-linux-monitoring-part-2) [Как добавить нового пользователя в Windows Server 2012, 2016, 2019](https://zomro.com/rus/blog/faq/272-kak-dobavit-novogo-polzovatelja-v-windows-server-2012-2016-2019)

[ Выделенные серверы от €74.24/мес ](/rus/dedicated-servers)
