Linux vim как сохранить изменения
Перейти к содержимому

Linux vim как сохранить изменения

  • автор:

How to save and exit a file from Vim editor in Ubuntu Linux

Do Dung

1. Installing Vim editor on Ubuntu.

2. Using Vim mode.

3. Create a file using the Vim editor.

4. Open the file to edit with Vim editor.

5. How to save changes in Vim editor.

5.1 Save and quit Vim editor.

5.2 Save file but without quit Vim editor.

5.3 Quit Vim editor but without save change file.

6. Clone and rename file with Vim editor

7. Summary

Please note that in this article I only guideway to manipulation with Vim editor in Ubuntu Linux.

1. Installing Vim editor on Ubuntu.

By default, you need to open a terminal or login to the remote Ubuntu server by using the SSH client. To install Vim editor we need the following apt-get command.

First, we need to update all packages for apt-get.

Finally, run the command below to install the Vim editor.

To check Vim version or ready install success, using below command:

2. Using Vim mode.

When editing a file by using Vim editor, there are two modes in vim we have to know to easily manipulate with the tex file.

— Command mode : In this mode, you can delete text, copy, paste, undo, redo, save, exit file. To switch this mode press the ESC key.

— Insert mode : In this mode, you can insert text or edit text and write anything inside the current file. To switch this mode press the i key.

3. Create a file using the Vim editor.

First, you need to select the folder you want to create a file and below is the syntax for creating a file by using Vim:

For example, I will create the demo.txt file inside the test folder, I will do as below :

And you can see your file opening in Vim editor, press i to switch to insert mode and you can write something for this file. Now you want to save and exit the file, you need to switch to command mode by pressing the ESC key and press :wq! and then press the ENTER key.

4. Open the file to edit with Vim editor.

To open a file to edit in Vim, it looks like creating a file with Vim editor. When you enter the command sudo vim [your_file_name.extention] the program will check if this file name does not exist Vim will create this file and open file to edit and if it exists Vim will open it to edit.

5. How to save changes in Vim editor.

5.1 Save and quit Vim editor.

To save file and quit in Vim editor:

Step 1: Press ESC key to switch to Command mode.

Step 2: Press : ( colon) to open the command bar and insert a colon in the left bottom of the window.

Step 3: Enter more wq! and then press ENTER key to save and quit Vim.

Alternatively, we have another short way to save and exit Vim editor:

5.2 Save file but without quit Vim editor.

To save a file without exiting in Vim:

Step 1: Press ESC key to switch to Command mode.

Step 2: Press : ( colon) to open the command bar and insert a colon in the left bottom of the window.

Step 3: Press w [current file name] and then press Enter key.

For example: :w demo.txt

5.3 Quit Vim editor but without save change file.

To exit Vim without saving changes:

Step 1: Press ESC key to switch to Command mode.

Step 2: Press : ( colon) to open the command bar and insert a colon in the left bottom of the window.

Step 3: Press qa! and then press the Enter key.

Alternatively, we have another short way to exit without save file in Vim editor:

6. Clone and rename file with Vim editor

To rename a file in Vim editor, you can refer to item 5.2. For example, you want to rename demo.txt file to text.txt file, You can do as below :

Change :w demo.txt to :w text.txt and then press Enter key.

Now we check all files in the current folder, we can see two files exist.

7. Summary

In this article, I only guide how to save and exit a file from Vim editor in Ubuntu Linux, also some other manipulation necessary with a file using Vim editor such as create a new file, clone, remane…

Как пользоваться текстовым редактором vim

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

В операционной системе Linux есть несколько текстовых редакторов, которые работают в терминале. Чаще всего новички используют редактор nano, но если вы заметили на нашем сайте во всех статьях используется текстовый редактор vi. Nano неудобный, и недостаточно функционален. Я сознательно не пишу в своих статьях о nano. Есть намного лучший текстовый редактор, это редактор vi. Здесь поддерживается быстрое перемещение по тексту, удобное редактирование, команды для изменения настроек работы, выполнение команд терминала из редактора, а также плагины для расширения функциональности. Но он немного сложный для новичков и очень непривычный.

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

Редактирование файла в Vim

Я рекомендую использовать редактор Vim практически во всех статьях на этом сайте, где надо что-то отредактировать. Но у многих пользователей возникают проблемы при использовании этого редактора. Эта статья написана чтобы помочь их решить. Но если вам быстро надо отредактировать файл и вы не хотите читать всё, в этом разделе я сделал небольшую инструкцию как внести изменения и выйти. Для того чтобы открыть файл выполните:

Затем нажмите i, для того чтобы перейти в режим редактирования. Здесь вы можете редактировать файл так же, как и в nano. После того как завершите нажмите Esc, чтобы перейти в командный режим и наберите :wq. Записать и выйти. Все, готово.

Минимальные основы

На данный момент существует две версии редактора — vi и vim. Vim расшифровывается как Vi Improved, улучшенный vi. Это новая версия, которая принесла очень много улучшений. В большинстве современных дистрибутивов используется именно она. Поэтому если я буду писать vi, это значит, что я предполагаю использование vim.

Текстовый редактор Vim может работать в двух режимах. Это и есть его главная особенность. Первый режим, который используется по умолчанию при открытии редактора — это командный. В этом режиме вы можете вводить команды vi, а также использовать символьные клавиши для управления редактором. Второй режим — обычное редактирование текста, он работает так же как и редактирование текста в nano. Для переключения в командный режим используется клавиша Esc. Для переключения в режим редактирования — клавиша i. Если вас интересует только как в редакторе vi сохранить и выйти, листайте вниз, но если вы хотите узнать как пользоваться текстовым редактором vim, эта статья для вас.

Перед тем как идти дальше я бы посоветовал вам пройти курс обучения встроенный в редакторе. Выполнение всех обучающих заданий займет 25-30 минут. Это поможет вам закрепить всё знания полученные из этой статьи на практике. Дело в том, что команд и сочетаний клавиш у vim очень много и запомнить их все без практики невозможно. Для запуска обучения наберите:

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

Как использовать редактор Vim

Начнем мы, как обычно с запуска программы, а также опций, которые ей можно передать. Синтаксис Vim очень прост:

$ vim опции имя_файла

$ vi опции имя_файла

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

  • +номер — переместить курсор к указной строке после запуска.
  • +/шаблон — выполнить поиск по шаблону и переместить курсор к первому вхождению
  • «+команда» — выполнить команду после запуска программы
  • -b — двоичный режим, для редактирования исполняемых файлов.
  • -d — режим поиска различий в файлах, нужно указать несколько файлов для открытия.
  • -g — графический режим.
  • -n — не использовать автосохранение для восстановления файла при сбое.
  • -R — режим только для чтения.
  • -w — сохранить все действия в файл.
  • -x — шифровать файл при записи.
  • -C — режим совместимости с Vi.

Круто, правда? Но это только начало. Опции ничего по сравнению с командами редактора.

1. Перемещение курсора

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

Для перемещения используются такие команды:

  • h — на один символ влево;
  • l — на один символ вправо;
  • j — на одну строку вниз;
  • k — на одну строку вверх;
  • w — на слово вправо;
  • b — на слово влево;
  • H — перейти в низ экрана;
  • G — перейти в конец файла;
  • gg — перейти в начало файла;
  • <номер>G — перейти к конкретной строке;
  • . — перейти к последнему редактированию.

Можете запустить редактор и поэкспериментировать, чтобы было легче понять как это работает. Начните с h, l, j, k — многие пользователи используют их для перемещения по тексту не только в Vim, потому что это позволяет не открывать руки от клавиатуры. Если перед тем как нажать кнопку буквы нажать цифру, то эта команда будет повторена несколько раз. Например, 3j переведет курсор на три строки вверх.

Очень часто возникает необходимость перейти в начало строки или в её конец. Команды Vim могут с этим помочь. Используйте команду ^ для того чтобы перейти в начало строки или команду $ для перехода в конец строки. Обратите внимание, что для того чтобы набрать эти команды нужно зажать Shift и нажать 4 или 6.

2. Режим редактирования

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

  • i — вставить текст с позиции курсора, символ под курсором будет заменен;
  • I — вставить текст в начало строки;
  • a — добавить текст начиная от позиции курсора;
  • o — вставить новую строку после этой и начать редактирование;
  • O — вставить новую строку перед этой и начать редактирование;

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

3. Удаление символов и строк

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

  • d — удалить символ;
  • dd — удалить всю строку;
  • D — удалить символы начиная от курсора и до конца строки.

Эти команды редактора vim работают немного по-другому после нажатия одной из них ничего не произойдет. Мы еще можем задать сколько раз нужно повторить команду, но также нужно указать количество символов, к которым она будет применена и направление, с помощью кнопок перемещения курсора. Это делается после нажатия команды. Например, для того чтобы удалить один символ справа наберите dl. Чтобы удалить два символа справа от курсора нажмите d3l, а чтобы удалить три строки вниз — d3j.

4. Замена символов

В командном режиме вы можете не только удалять символы, но и заменять их на другие. Для этого существуют две команды:

  • r — заменить текущий символ;
  • R — заменить несколько символов.

Первая команда позволяет заменить один символ и вернутся в командный режим. Вторая команда будет заменять все символы, пока вы не вернетесь в командный режим нажатием клавиши Esc:

5. Отмена и повтор действий

В обычных текстовых редакторах вы можете использовать Ctrl+Z для отмены последних действий. В редакторе Vim есть собственная история действий. Она доступна в командном режиме. Если вы хотите отменить последнее изменение, просто нажмите u. Обратите внимание, что каждое следующее нажатие этой кнопки будет отменять предыдущее изменение сделанное в командном режиме. Например, если вы удалили один символ командой d, то он будет восстановлен.

Однако, если вы переключитесь в режим редактирования и сделаете там много изменений, а потом вернетесь в командный режим, то все эти изменения будут рассматриваться как одно. Если вы случайно отменили что-то важное, то можете повторить действие, нажав Ctrl+r:

Вот некоторые команды для отмены и повтора действий:

  • u — отменить последнее действие;
  • U — отменить последнее действие в текущей строке;
  • . — повторить последнее действие;
  • Ctrl+r — отменить отмену последнего действия.

6. Командная строка Vim

Командная строка Vim запускается в командном режиме нажатием двоеточия — «:«. Здесь доступны команды для сохранения файла и выхода из редактора, настройки внешнего вида и взаимодействия с внешней оболочкой. Рассмотрим наиболее часто используемые команды редактора vim:

  • :w — сохранить файл;
  • :q — закрыть редактор;
  • :q! — закрыть редактор без сохранения;
  • :e файл — прочитать содержимое файла в позицию курсора;
  • :r файл — вставить содержимое файла в следующую строку;
  • :r! — выполнить команду оболочки и вставить ответ в редактор;
  • :set переменная=значение — установить значение переменной, например, tabstop=4, или set number, с помощью этой команды можно управлять многими аспектами работы vim.
  • :buffers — посмотреть открытые файлы;
  • :reg — посмотреть содержимое буферов обмена.

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

7. Выделение и буфер обмена

Текстовый редактор Vim поддерживает выделение текста без использования мышки. Поэтому вы можете копировать и вставлять текст даже в TTY окружениях, без графического интерфейса. Нажмите v когда вы находитесь в командном режиме для перехода в режим выделения. Затем вы можете использовать кнопки перемещения курсора h, j, k, l для выделения нужных символов или строк:

Теперь вы можете выполнять какие-либо действия с выделенным текстом. Например, можно его удалить, нажав кнопку d. Для того чтобы сбросить выделение нажмите кнопку Esc. Это ещё не всё. У Vim есть свой буфер обмена, который можно использовать для копирования и вставки текста. Этот буфер обмена состоит из нескольких регистров. Если не задать иное, то все команды работают с буфером обмена по умолчанию. Вот основные команды для копирования и вставки текста:

  • y — скопировать в буфер обмена;
  • yy or Y — скопировать строку в буфер обмена;
  • x — вырезать в буфер обмена;
  • p — вставить из буфера обмена.

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

Если вы хотите скопировать данные в системный буфер обмена, сначала необходимо убедится что Vim, установленный в вашей системе это поддерживает. Для этого выполните команду:

vim —version | grep clip

Если эта возможность поддерживается вы увидите +clipboard или +xterm_clipboard. Давайте вернемся к регистрам. В Vim есть несколько регистров буфера обмена и один из них связан с системным буфером обмена. Это регистр «+. Вы можете вывести все регистры и их содержимое с помощью команды:

Регистр с именем «» это тот самый буфер обмена, который используется по умолчанию. Если вы хотите скопировать текст в системный регистр, необходимо набрать имя регистра перед командой копирования. Например, нажмите «+ а затем y. Обратите внимание, что нужно использовать клавишу Shift для получения нужного символа. Надо нажать Shift+’ и Shift+=.

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

После этого вы сможете вставить текст в любом месте операционной системы.

8. Поиск и замена в Vim

Довольно часто нам нужно найти определенную последовательность в тексте. Текстовый редактор Vim умеет это делать. Во-первых, если нужно найти символ в строке, нажмите f и наберите нужный символ, курсор будет перемещен к его позиции.

Для поиска по всему файлу используйте команду /. После нее нужно ввести слово, которое нужно найти. Для поиска следующего вхождения используйте n, для предыдущего — N.

Вот основные команды для поиска:

  • f — найти один символ;
  • / — искать несколько символов;
  • n — найти следующее вхождение;
  • N — найти предыдущее вхождение.

Для замены будет использоваться немного другая конструкция:

Например, давайте заменим все вхождения слова Alice на Robert:

Двоеточие запускает командную оболочку с командой s для замены. Символ % означает что обрабатывать нужно весь файл, а g значит, что нужно обработать все найденные строки, а не только первую. Чтобы программа спрашивала перед каждой заменой можно добавить в конец строки опцию c.

9. Редактирование нескольких файлов

Чтобы открыть несколько файлов, просто передайте их в параметры при запуске программы:

vim /etc/default/grub /etc/default/cron

Редактор vim linux откроет первый файл, для переключения ко второму используйте команду :n, чтобы вернутся назад :N. С помощью команды :buffers вы можете посмотреть все открытые файлы, а командой :buffer 1 переключится на первый файл.

10. Кириллица в Vim

Кириллица в Vim работает превосходно. Но есть одно но, когда включена кириллица в системе, все команды vim не работают, им и не нужно работать, они же не приспособлены для кириллицы.

Но переключать каждый раз раскладку, когда работаете в командном режиме тоже не очень удобно, поэтому открываем файл

/.vimrc и добавляем туда такие строки:

set keymap=russian-jcukenwin
set iminsert=0
set imsearch=0

Теперь раскладка клавиатуры в командном режиме переключается по Ctrl+^ и все команды работают.

Выводы

В этой статье мы рассмотрели как пользоваться текстовым редактором vim. Это еще далеко не все его возможности, но теперь вы можете уверенно обращаться с редактором и забыть о nano. Более подробно о настройке Vim читайте тут. А вы уже пользуетесь Vim? Или другим редактором? Напишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

How to Save a File in Vi / Vim & Exit

Vim (Vi IMproved) is an open-source text editor for Unix and Linux systems. It is a powerful and stable tool for editing and writing text, both in the command-line interface and as an independent application in a GUI.

Take the first step in learning Vim with the basic save and exit commands. Follow this guide and learn how to save a file in Vi/Vim and exit the editor.

linux Tutorial on how to save a File in Vi / Vim text editor

  • A system running Linux.
  • A user with sudo privileges.
  • Access to a terminal/command line. (alternatively, use the default Vi).

Using Vim Modes

When Vim launches, files are opened in command mode by default. This means that you can move around and edit the file, but cannot insert new text.

All alphanumeric keys in this mode are equal to commands, and pressing them will not display their value on the screen. For example, pressing the letter w will move the cursor one word forward.

To type text, you must be in insert mode. To switch to insert mode, press the i key. Now you can type text into a file.

To switch back to command mode, press the Esc button.

How to Save Changes in Vim

Vim offers different commands to save changes to a file, depending on whether you need to exit the text editor or not. Below are examples demonstrating how to save and exit, save without exiting, and exit without saving.

Start by opening a new text file using Vim:

Next, press i to enter insert mode and add some text.

Vim Save and Quit Command

To save a file and exit Vim, do the following:

1. Switch to command mode by pressing the Esc key.

2. Press : (colon) to open the prompt bar in the bottom left corner of the window.

3. Type x after the colon and hit Enter. This will save the changes and exit.

Vim Save And Quit The Editor Command

Alternatively, a command that will also save a file and exit the text editor is:

In which case the w stands for write (save) and q stands for quit.

How to Save a File in Vi / Vim Without Exiting

To save a file without exiting in Vim:

1. Switch to command mode by pressing the Esc key.

2. Type : (colon). This will open the prompt bar in the bottom left corner of the window.

example of saving a file without exiting in Vim

3. Type w after the colon and hit Enter. This will save in Vim the changes made to the file, without exiting.

You can also rename an existing file by adding the new name after the commands.

In the picture below, we renamed the existing example1.txt into newexample.

example of renaming a file using vi/vim text editor

Exit Without Saving Changes in Vi / Vim

To exit Vim without saving changes:

1. Switch to command mode by pressing the Esc key.

2. Press : (colon) to open the prompt bar in the bottom left corner of the window.

3. Type q! after the colon and hit Enter to exit without saving the changes.

command to exit vim without saving changes

The q! quits the text editor.

This article explained how to save files in Vi / Vim, with multiple command options.

The more comfortable you feel using keyboard shortcuts, the more you will understand why Vim earned its worldwide reputation. Next learn how to copy and paste in Vim, and how to go to the end of the file!

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

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

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

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

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

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

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

В умелых руках 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 — ваша любимая? Может, вы знаете удобные приёмчики? Делитесь ими в комментариях!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *