Як повернутися назад (ctrl + z) в vi / vim


107

У звичайних текстових редакторах [при всій повазі до Vim] є ярлик Ctrl+ Zколи ви зробили щось неприємне і хочете повернутися до попередньої версії тексту. Як кнопка НАЗАД у Word. Цікаво, як можна досягти такої поведінки у Vim.



1
Документація Vim також дуже хороша - наприклад :help undo, знайде вам свою відповідь.
Кріс Морган

2
перш ніж зануритися у vim повністю, я пропоную вам пройти інтерактивний підручник
karth

1
Дякую всім і вибачте за це питання. Необхідно прочитати більше наступного разу.
Slazer

1
на linux, CTRL-Z in vi / vim / gvim означає перехід до консолі або покладіть це на другий план. тоді ви зробите все, що завгодно на консолі, і введіть fg (передній план), щоб повернути вас у сесію редагування vim.
mancocapac

Відповіді:


188

За допомогою uкнопки можна скасувати останню модифікацію. (І Ctrl+ Rпереробити).

Детальніше про це читайте на веб-сайті: http://vim.wikia.com/wiki/Undo_and_Redo


2
Я мапу U повторити, щоб я міг швидко скасувати / повторити, всю історію редагування, якщо потрібно, у vimrc: nnoremap U <CR>
NeilG

10

Відповідь, u(та багато інших) є в $ vimtutor.


до голосування тільки тому , що я ніколи не чув vimtutorдо
Paiusco

4

Але тут є хитрість. Можна зіставити Ctrl+ Zклавіші. Цього можна досягти, відредагувавши .vimrcфайл. Додайте наступні рядки у файл '.vimrc'.

nnoremap <c-z> :u<CR>      " Avoid using this**
inoremap <c-z> <c-o>:u<CR>

Це може бути не кращим способом, але його можна використовувати.

** Ctrl+ Zвикористовується в Linux для призупинення поточної програми / процесу.


1

Просто в звичайному режимі натисніть:

  • u- скасувати ,
  • Ctrl+ r- повторне виконання зміни , які були розстебнуті ( скасувати в скасування ).

Скасувати та повторно


Я знаю, що більшість моєї відповіді дублюється з тими, хто вже є, але додана вартість моєї відповіді повторюється як Ctrl + r(нижній регістр r) на основі документації. Ніхто раніше не ставив його тут. Крім того, я намагався зробити відповідь якомога чіткішою.
simhumileco

0

На mac ви також можете використовувати команду Z, і це скасується. Я не впевнений, чому, але іноді це зупиняється, і якщо ти, як я, і вімтуатор, знаходиться в нижній частині цього довгого списку речей, які тобі потрібно вивчити, то ти можеш просто закрити вікно і знову відкрити його, і він повинен добре працювати.


0

У мене була та сама проблема зараз, і я її вирішив. Вам це більше не потрібно, тому я пишу для інших:

якщо ви використовуєте gvim у Windows , ви просто додасте це у свій _vimrc : $VIMRUNTIME/mswin.vim behave mswin

інше просто використовувати Imap ...

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