Як я можу вийти з Vi?


81

Я запустив Vi на своїй машині Ubuntu. Однак я новачок у Vi, і тепер не можу кинути роботу. Я бачу редактор і можу написати текст, у нижньому рядку є мітка "запис".

Як я вийду з Vi?


1
До речі, "запис" означав, що ви записуєте макрос. Це вже не важливо.
frabjous

4
Це питання повертає такі "веселі" спогади. Я так радий, що пережив це почуття, однак.
frabjous

Як ми можемо повернутися у режим вставки з режиму лише для читання в Linux (встановлений Ubuntu у VMware) VI Editor?

2
Вихід з Vim став мемом зараз.
noɥʇʎԀʎzɐɹƆ

2
Для тих, хто цього жарту ще не бачив: twitter.com/iamdevloper/statuses/435555976687923200
Федеріко Полоні

Відповіді:


91

vim - модальний редактор . Натисніть ESCклавішу, щоб перейти в звичайний (командний) режим, а потім наберіть :qі натисніть Enter.

Щоб вийти без збереження змін, введіть :q!і натисніть Enter.

Дивіться також Вихід у документацію Vim.


9
Спасибі: Я намагався , що команди, але після запуску їх я запрошено: E37: No write since last change (add ! to override). Мені нема чого рятувати.
Йонас

12
Використовуйте, :wqякщо ви хочете зберегти те, що ви відредагували, а потім вийдіть. :q!якщо ви хочете вийти і залишити зміни.
Стівен Д

Або якщо ви написали щось, для чого хочете зробити копію :w newFileName.txt, то розібрайтеся з проблемою, доступною лише для читання за межами vi або vim .
Кевін Канту

5
кинути :q; сила кинути :q!; киньте і збережіть :wqабо:x
fromnaboo

2
@Jonas, наступного разу спробуйте :qall!, я підозрюю, що ви відкрили більше файлів у межах одного буфера.
Алан Донг

11

Я використовую ctrl+ [для створення escпослідовності, це не дає мені рухати пальцями з домашнього рядка (пам’ятайте, що escключ був у іншому місці, коли він viбув винайдений. :wqНапишіть усі файли без необхідності. Я пропоную використовувати ZZ(що shift+ zдва рази) ) , який буде писати тільки якщо зміна була зроблена в файлі також. :xaтакий же , як ZZтільки якщо у вас є більш ніж 1 файл відкритий в екземплярі редактора (наприклад, вкладки VIM). Примітка: Я не впевнений , що все це 100% співвіднесення з усіма клонами vi, але я знаю, що це працює з vim


1
Дякую. ZZКоманда , здається , щоб бути корисним. Я бачу сенс, Ctrl+[але я використовую шведську розкладку клавіатури, і мені потрібно натиснути, AltGr+8щоб отримати [так, як Ctrl+AltGr+8для мене :(
Jonas

Також примітка ZQфактично така ж, як і :q!. Однак це не стандарт. ZZ, З іншого боку, це зазначено в стандарті POSIX .
Wildcard

4

Вихід із vi - це інший спосіб Esc :x.

Цей параметр використовується для збереження та виходу з цього ж часу.


2
Зверніть увагу , що , як ZZ, :xзапише тільки файл , якщо його зміст не змінилося, в відміну від :wq.
jlliagre

2

Як сказав Сінан, vim - це редактор, що редагує модаль. Якщо ви хочете знати, чи працює це для вас, вам, можливо, варто вкласти трохи часу і запустити, vimtutorщо є інтерактивним способом дізнатися vim. (Він також стосується способів виходу, що означають режими і що ви можете робити в кожному режимі).


-2

Після внесення змін натисніть ESCта задану команду :wq!.

Це змусить записати нову модифікацію у файл лише для читання. Раніше він не працював, оскільки файл доступний лише для читання.


1
Чому ви відповідаєте на запитання чотирьох років тому, в основному переглядаючи верхню відповідь? Все одно це неправильно: це не змусить записувати файл лише для читання - він спробує записати, може вийти з ладу, а потім змусить вийти без збереження.
Кріс

Я спробував з попередніми коментарями, і це не спрацювало. Я думав, що було б корисно поділитися тим, що я зробив. Важливо не те, коли було розміщено питання, а чи застосовні рішення чи ні.
Аріф А.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.