Как сохранить файл в vim
Перейти к содержимому

Как сохранить файл в vim

  • автор:

Как сохранить файл и выйти из редактора VIM и VI

Если вы только начинаете пользоваться текстовыми редакторами командной строки VI или VIM, то вам нужно научиться выполнять базовые задачи. К примеру, сохранять файлы или сохранять файлы и сразу же закрывать редактор одним действием.

terminal-icon-mac

Как сохранить файл и сразу выйти из VIM или VI

Самый простой способ сохранить файл и сразу выйти из редактора VI или VIM – это с помощью сочетания клавиш ZZ. Заметьте, что буквы заглавные. Чтобы сохранить файлы и выйти, нажмите клавишу «Escape», затем «Shift», а затем дважды нажмите клавишу «Z».

  • Нажмите клавишу ESC, затем зажмите клавишу Shift и дважды нажмите Z

Вы сохраните текущий файл и выйдете из текстового редактора.

Чтобы закрыть редактор без сохранения файла, можете использовать сочетание «ZQ».

Как сохранить файл, не закрывая редактор VI или VIM

  • Нажмите клавишу ESC
  • Введите :w и нажмите Enter

Команда сохранения файла и выхода

  • Нажмите клавишу ESC
  • Введите :wq и нажмите Enter

Двоеточие активирует командный режим, а команда wq (write and quit) сохраняет файл и закрывает текстовый редактор.

Если вы только начинаете пользоваться редактором VIM/VI, то многое может казаться вам непонятным. Как только вы запомните базовые действия, работать вам будет легче.

VIM – продвинутый редактор текста, но его можно использовать и для других задач. Например, для создания защищённых паролем текстов.

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

Как сохранить файл в vim

Давайте изучим основные команды в Vim для чтения/создания файлов, cut/copy/paste, undo/ redo и поиска.

Чтение и создание файлов

Буферы

Когда вы редактируете файл, то Vim переносит текст из файла на жестком диске в оперативную память компьютера.

Это означает, что копия файла сохраняется в памяти компьютера, и все ваши изменения происходят в памяти компьютера, и сразу же отображаются. После того, как вы закончите редактирование файлов, вы можете сохранить файл, что означает, что Vim запишет текст из памяти компьютера на жесткий диск. Память компьютера, используемая для временного хранения текста, называется «буфер». Заметим, что эта же концепция является причиной, почему у нас есть пункт меню «save» во всех редакторах или текстовых процессорах, которыми мы пользуемся.

Теперь откроем Vim, запишем слова Hello World и сохраним это как файл hello.txt. Если вам нужно напомнить, как это сделать, пожалуйста пересмотрите главу Первые шаги.

Swap

Теперь вы можете видеть, что в том же каталоге был создан другой файл с примерным названием hello.txt.swp. Выполните следующую команду, чтобы узнать точное имя файла:

Что это за файл? Vim делает копию буфера в файл, который регулярно сохраняется на жестком диске, так что если что-то пойдет не так (в случае выключения компьютера или вылета Vim), у вас будет сохраненная версия правок, созданных вами после последнего сохранения в оригинальный файл. Этот файл называется «swap file», поскольку Vim сохраняет содержимое буфера памяти компьютера на жесткий диск (свопирует). Смотри :help swap-file для подробной информации.

Сохранение моего файла

Теперь, когда файл был загружен, давайте сделаем незначительное редактирование. Нажмите клавишу ~ для изменения регистра символа, на котором стоит курсор. Обратите внимание, что Vim теперь пометил файл как изменённый (например, в графической версии Vim появляется знак + в строке заголовка). Вы можете открыть этот файл в другом редакторе и проверить, что эти изменения еще не сохранены. Vim пока изменил только буфер и не сохранил эти исправления на жесткий диск.

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

Примечание: Для простоты сохранения, добавьте следующую строку в ваш vimrc файл:

Теперь вы можете простым нажатием комбинации ctrl-s сохранить файл.

Работа в моем каталоге

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

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

Или вы можете переключить Vim на другой каталог:

:cd это сокращение от ‘c’hange ‘d’irectory (изменить директорию).

Чтобы посмотреть рабочий каталог, в котором Vim ищет файлы, выполните:

:pwd это сокращение от слов ‘p’rint ‘w’orking ‘d’irectory.

Cut, Copy и Paste

Как сказал Sean Connery в фильме ‘ Finding Forrester ‘:

Не думайте — пишите. Вы должны писать сначала от вашего сердца. А переписывать от головы. Первый ключ к писательству. пишите, не думайте!

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

В нормальной терминологии дестопа, вырезать (‘cut’ting) — это удалить текст и поместить его в буфер обмена. В Vim эта операция означает, что текст из буфера файла удаляется и сохраняется в ‘регистре’ (часть памяти компьютера). Поскольку мы можем выбрать регистр, где мы будем хранить текст, эта операция называется операцией удаления («delete»).

Аналогично, в нормальной терминологии десктопа, копировать (‘copy’) текст означает копирование текста в буфер обмена. Vim делает то же самое Дергая («yanks») текст и размещая текст в регистре.

Вставить («Paste») имеет одинаковый смысл в обоих терминологиях.

Мы увидели, как вы можете производить операции cut/copy/paste в Vim. Но как вы определите, с каким текстом выполнять эти операции? Хорошо, что мы уже изучили в предыдущем разделе текстовые объекты.

Сочетание операции и текстовых объектов означает, что мы имеем бесчисленное количество способов управления текстом. Давайте посмотрим несколько примеров.

Напишем этот текст в Vim (точно так, как показано):

This is the rthe first paragraph.

This is the second line.

This is the second paragraph.

Разместите курсор в верхнюю левую позицию, нажав 1 и G , это переместит нас в первую строку и первый столбец соответственно.

Давайте рассмотрим первый случай: Мы напечатали лишний ‘r’, который мы должны удалить. Нажмите 3w для перемещения на 3 слова. Теперь, нам нужно удалить один символ в текущей позиции курсора.

Примечание: есть два способа сделать это:

Один символ в текущей позиции курсора

l ( L в нижнем регистре)

Таким образом, мы должны просто нажать dl и мы удаляем один символ! Обратите внимание, что мы можем использовать l, хотя это перемещение.

Теперь мы замечаем, что это слово является лишним, потому что мы два раза ввели «the». Давайте подумайте о том, какую быструю комбинацию клавиш нам использовать, чтобы это исправить? Возьмите паузу, чтобы подумать и самим это понять. Если не додумались, то читайте ниже.

Итак, нажав dw, вы удалите слово. Ура! Так просто и так красиво. Вся прелесть в том, что такие простые комбинации можно комбинировать для получения большого спектра возможностей.

Как мы можем сделать ту же операцию для строки? Строки — это отдельный случай в Vim, потому что строки, как правило, это отдельные мысли в нашем тексте. Коротко, если вы повторите имя операции дважды, она будет произведена над строкой. Так, dd удалит текущую строку а yy скопирует текущую строку.

Наш пример текста в Vim должен выглядеть примерно так:

This is the first paragraph.

This is the second line.

This is the second paragraph.

Перейдите на вторую линию, нажав j . Теперь нажмите dd и строка должна быть удалена. Теперь вы должны увидеть:

This is the first paragraph.

This is the second paragraph.

Давайте посмотрим далее: как мы выдернем (удалим) текущий абзац?

Таким образом, yap скопирует текущий абзац. Теперь, когда мы скопировали текст, как мы можем вставить его? Просто нажав ‘ p ‘ .

Теперь мы увидим:

This is the first paragraph.

This is the first paragraph.

This is the second paragraph.

Обратите внимание, что пустая строка также будет скопирована, когда мы сделаем yap , так как p добавляет дополнительные пустые строки.

Существуют два вида вставить (paste), это аналогично двум видам вставок (inserts), которые мы рассмотрели раньше:

p (нижний регистр)

вставить после текущей позиции курсора

P (верхний регистр)

вставить до текущей позиции курсора

Поняв идею, далее мы можем комбинировать их в более эффективные методы.

Как поменять два символа? Нажмите xp .

• x → удалить один символ в текущей позиции курсора

• p → вставить после текущей позиции курсора

Как поменять два слова? Нажмите dwwP .

• w → перейти к следующему слову

• P → вставить до текущей позиции курсора

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

Маркировка вашей территории

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

Вы можете создать закладку нажав m и затем имя закладки, которое должно состоять из простых символов a-zA-Z. Например, нажатие ma создаст закладку с именем ‘a’.

Нажмите ‘a и курсор вернется на строку с закладкой. Нажатием ‘a вы будете переведены точно на строку и колонку закладки.

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

Смотри :help mark-motions для более подробной информации.

Машина времени с использованием undo/redo

Предположим, что вы переписывали абзац, но в итоге вы запутались в том, что вы пытались переписать, и вы хотите отменить исправления и вернуться к написанному ранее. Здесь мы можем применить «undo», чтобы отменить сделанное. Если же позже мы захотим вернуться к тому, что мы имеем сейчас, мы можем использовать «redo», чтобы мы вернули сделанное. Учтите, что изменения касаются изменений в тексте и не учитывают движение курсора и другие вещи, не относящиеся к тексту.

Предположим вы имеете текст:

I have coined a phrase for myself — ‘CUT to the G’:

4. Get Things Done

Step 4 is eventually what gets you moving, but Steps 2 and 3 are equally important. As Abraham Lincoln once said «If I had eight hours to chop down a tree, I’d spend six hours sharpening my axe.» And to get to this stage, you need to do Step 1 which boils down to one thing — It’s all in the mind. That’s why it’s so hard.

(Abraham Lincoln однажды сказал «Если бы я имел восемь часов, чтобы срубить дерево, я бы потратил шесть часов точа свой топор.» И, чтобы добраться до этой стадии, что вам нужно сделать шаг 1, который сводится к одному — Это все в голове. Вот почему это так трудно.)

Теперь давайте начнем редактирование с первой строки:

1. Нажмите S для замены (‘s’ubstitute) всей строки.

2. Наберите текст After much thought, I have coined a new phrase to help me solidify my approach:.

Теперь подумайте о том изменения, которые мы только что сделали. Есть предложения лучше? Хм, предыдущий текст был лучше? Как мы можем его вернуть?

Нажмите u для отмены (undo) последних изменений и посмотрите, что было до этого. Вы теперь видите текст I have coined a phrase for myself — ‘CUT to the G’:. Для восстановления последних изменений нажмите ctrl-r и теперь вы увидите строку After much thought, I have coined a new phrase to help me solidify my approach:.

Важно отметить, что Vim ведет неограниченную историю undo/redo, но, как правило, она ограничена настройками undolevels в Vim и объемом памяти в вашем компьютере.

Теперь, давайте посмотрим примеры, которые действительно демонстрируют большую функциональность undo/redo в Vim, таким возможностям другие редакторы будут завидовать: Vim это не только ваш редактор, он также выступает в качестве машины времени.

вы вернетесь на 4 минуты, т.е. состояние текста которое было 4 минут назад «earlier».

Сила в том, что Vim превосходно все отменяет и повторяет. Например, если вы внесли изменения, а затем отменили его, а затем продолжили редактирование, то изменения на самом деле невозможно извлечь с помощью простого u снова. Но это возможно в Vim с использованием команды :earlier .

Вы также можете двинуться вперед во времени:

интервал составит 45 секунд.

Или, если вы хотите более простой подход для отмены 5 внесенных изменений:

Вы можете просмотреть дерево undo используя:

Смотри :help :undolist для объяснения работы этой команды.

Смотри :help undo-redo и :help usr_32.txt для подробной информации.

Мощная поисковая машина, но не dotcom

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

Давайте вернемся к нашему знакомому примеру:

I have coined a phrase for myself — ‘CUT to the G’:

4. Get Things Done

Step 4 is eventually what gets you moving, but Steps 2 and 3 are equally important. As Abraham Lincoln once said «If I had eight hours to chop down a tree, I’d spend six hours sharpening my axe.» And to get to this stage, you need to do Step 1 which boils down to one thing — It’s all in the mind. That’s why it’s so hard.

Предположим мы хотим найти слово «Step». В нормальном режиме, наберем /Step (т.е. /Step и затем клавишу enter). Мы перейдем на первое вхождение этого слова. Нажмите n и вы перейдете в следующему (‘n’ext) вхождению, а N перейдет к следующему слову в обратном направлении, т. е. к предыдущему вхождению слова.

Что, если вы знаете только часть фразы или не знаете точного написания? Не было бы полезно, если бы Vim начал поиск при вводе поисковой фразы? Вы можете включить это командой:

Вы также можете сказать Vim игнорировать регистр (верхний или нижний регистр) текста, который вы ищете:

Или вы можете использовать:

Если у вас включен smartcase, то:

• Если вы ищете /step, т.е. текст введен в нижнем регистре, то Vim будет искать любую комбинацию верхнего и нижнего регистра текста. Например, это будет соответствовать всем четырем следующим вариантам — «Step», «Stephen», «stepbrother», «misstep.».

• Если вы ищите /Step т.е. текст, введенный вами, содержит символы в верхнем регистре, то поиск будет только для текста в соответствующем регистре. Например, мы найдем «Step» и «Stephen», но не «stepbrother» или «misstep.».

Примечание: Я рекомендую вам вставить эти две строки в ваш файл vimrc (о нем будет сказано позже, а пока посмотрите :help vimrc-intro для ознакомления), чтобы эти опции были включены по умолчанию.

Теперь, когда мы поняли основы поиска, давайте рассмотрим реальную силу поиска. Прежде всего следует отметить, что то, что вы даете Vim, может быть не только простыми фразами, но и может быть «выражением». Выражение позволяет определить «тип» текста для поиска, а не только точный текст для поиска.

Например, вы увидели, что /step найдет нам steps, а также step и даже footstep, если такое слово встречается в тексте. Что делать, если вы хотите найти исключительно слово step и ничего больше, и чтобы оно не являлось частью другого слова? Для этого мы можем использовать /\. Структуры \ < и \>показывают начальную и конечную позицию слова.

А что, если вы хотите найти какое то число? Поиск с конструкцией /\d будет искать цифру (‘digit’). Но число это просто группа цифр вместе. Мы можем указать «одну или более» цифр вместе, используя /\d\+. Если мы будем искать ноль или более символов, мы можем использовать * вместо +.

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

Смотри :help pattern для детальной информации.

Итоги

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

Теперь, пойдем далее и начнем редактирование!

Внешние ссылки
Предыдущий раздел: Следующий раздел:
Помощь (Help) Оглавление Углубленное редактирование

Как сохранить и выйти в VIM или VI

Значок терминала Mac

Если вы новичок в VI или VIM, текстовых редакторах командной строки, вам могут быть интересны некоторые основы, например, как сохранять файлы или как одновременно сохранять и закрывать vim.

Как сохранить и закрыть файл в VIM или VI

Самый простой способ сохранить и выйти из VI или VIM – воспользоваться сочетанием клавиш ZZ. Обратите внимание на заглавные буквы, что означает, что команда сохранения и выхода выполняется нажатием Escape, затем удерживанием клавиши Shift и двойным нажатием Z, таким образом:

  • Нажмите клавишу ESC, затем удерживайте клавишу Shift, затем дважды нажмите Z

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Вы сразу же сохраните текущий файл и выйдете из vi / VIM с помощью ZZ.

Точно так же вы можете использовать ZQ для выхода из vim / vi в целом, но без сохранения файла.

Как сохранить файл без выхода в VI или VIM

Вы также можете сохранить файл в VI или VIM без выхода:

  • Нажмите клавишу ESC, чтобы войти в командный режим (выход из режима вставки)
  • Введите: w и нажмите return

Сохранить файл и выйти в vi / vim

Вы также можете использовать командный режим для сохранения и выхода с помощью одной команды:

  • Нажмите клавишу ESC, чтобы войти в командный режим (выход из режима вставки)
  • Введите: wq и нажмите return

Обратите внимание на двоеточие, а не на точку с запятой, так как: переводит вас в командный режим, а затем wq (запись и выход) – это команда, используемая для сохранения и выхода из vim / vi.

VIM / VI может быть немного запутанной загадкой, если вы новичок в его использовании, но, как и все остальное, после того, как вы изучите несколько основ, вам будет удобнее с ним. Если вы новичок в VIM и хотите узнать больше, на openvim.com есть хорошо продуманное интерактивное руководство по VIM. Команда vimtutor также может вам помочь. Или вы всегда можете просто запустить свой терминал, ввести vim, нажать return и выполнить свой собственный ускоренный курс.

VIM – мощный текстовый редактор, но вы можете использовать его и для других вещей, например, для создания защищенного паролем текстового файла для работы в качестве журнала, дневника или файла учетных данных или для чего-то еще, для чего вы найдете заблокированный текстовый файл.

Теперь вы знаете, как сохранять, и как сохранять, и как выйти из vim. Есть и другие способы, но они наиболее распространены и просты в использовании.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Как сохранить файл в Vim/Vi и выйти из редактора

Как сохранить файл в Vim/Vi и выйти из редактора

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

Vim или его предшественник Vi предустановлен на MacOS и почти во всех дистрибутивах Linux. Знание основ Vim поможет вам, если вы столкнетесь с ситуацией, когда ваш любимый редактор недоступен.

В этой статье мы объясним, как сохранить файл в Vim/Vi и выйти из редактора.

Режимы в Vim

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

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

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

Откройте файл в Vim/Vi

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

vim file.text

Другой способ открыть файл — это запустить редактор и набрать :e file_name, где file_name имя файла, который вы хотите открыть.

Сохранить файл в Vim/Vi

Команда для сохранения файла в Vim есть :w.

Чтобы сохранить файл без выхода из редактора, вернитесь в командный режим, нажав Esc, введите :w и нажмите Enter.

Как сохранить файл в Vim/Vi и выйти из редактора

  1. Нажмите Esc
  2. Тип :w
  3. Нажмите Enter

Существует также команда обновления, :upкоторая записывает буфер в файл, только если есть несохраненные изменения.

Чтобы сохранить файл под другим именем, используйте :w filewname и нажмите Enter.

Сохраните файл и выйдите из Vim/Vi

Команда сохранить файл в Vim и выйти из редактора :wq.

Чтобы сохранить файл и выйти из редактора одновременно, нажмите, Esc чтобы переключиться в командный режим, введите :wq и нажмите Enter.

Как сохранить файл в Vim/Vi и выйти из редактора

  1. Нажмите Esc
  2. Тип :wq
  3. Нажмите Enter

Другая команда для сохранения файла и выхода из Vim — �� это запись буфера в файл, только если есть несохраненные изменения.

Выйдите из Vim/Vi без сохранения файла

Чтобы выйти из редактора, не сохраняя изменения, переключитесь в командный режим, нажав Esc, введите :q! и нажмите Enter.

Как сохранить файл в Vim/Vi и выйти из редактора

  1. Нажмите Esc
  2. Тип :q!
  3. Нажмите Enter

Заключение

В этой статье мы показали, как сохранить файл в Vim и выйти из редактора.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

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

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

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