Cara kembali (ctrl + z) di vi / vim

108

Dalam editor teks biasa [dengan segala hormat untuk Vim] ada jalan pintas Ctrl+ Zketika Anda telah melakukan sesuatu yang buruk dan ingin kembali ke versi teks sebelumnya. Seperti tombol KEMBALI di Word. Saya bertanya-tanya bagaimana Anda bisa mencapai perilaku ini di Vim.

Slazer
sumber
1
Dokumentasi Vim juga sangat bagus - :help undoakan menemukan jawaban Anda tentang ini, misalnya.
Chris Morgan
2
sebelum menyelam ke vim sepenuhnya, saya sarankan Anda melalui tutorial (interaktif)
karth
1
Terima kasih semua dan maaf untuk q ini. Harus membaca lebih banyak lain kali.
Slazer
1
di linux, CTRL-Z di vi / vim / gvim berarti melarikan diri ke konsol, atau meletakkan ini di latar belakang. Anda kemudian melakukan apa pun yang Anda inginkan di konsol dan mengetik fg (latar depan) untuk membawa Anda kembali ke sesi edit vim.
mancocapac

Jawaban:

189

Anda dapat menggunakan utombol ini untuk membatalkan modifikasi terakhir. (Dan Ctrl+ Runtuk mengulanginya).

Baca lebih lanjut tentang itu di: http://vim.wikia.com/wiki/Undo_and_Redo

Qiau
sumber
2
Saya memetakan U untuk mengulang sehingga saya dapat membatalkan / mengulang dengan cepat, seluruh riwayat edit jika perlu, di vimrc: nnoremap U <CR>
NeilG
10

Jawabannya,, u(dan banyak lainnya) ada di $ vimtutor.

romainl
sumber
memilih hanya karena saya belum pernah mendengar vimtutorsebelumnya
Paiusco
4

Ini triknya. Anda dapat memetakan tombol Ctrl+ Z. Ini dapat dilakukan dengan mengedit .vimrcfile. Tambahkan baris berikut di file '.vimrc`.

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

Ini mungkin bukan cara yang disukai, tapi bisa digunakan.

** Ctrl+ Zdigunakan di Linux untuk menangguhkan program / proses yang sedang berlangsung.

madD7
sumber
1

Hanya dalam mode normal tekan:

  • u- batalkan ,
  • Ctrl+ r- redo perubahan yang dibatalkan ( membatalkan yang undos ).

Urungkan dan Ulangi

simhumileco.dll
sumber
Saya tahu bahwa sebagian besar jawaban saya diduplikasi dengan yang sudah ada, tetapi nilai tambah dari jawaban saya adalah ulangi sebagai Ctrl + r(huruf kecil r) berdasarkan dokumentasi. Tidak ada yang sebelumnya meletakkannya di sini. Selain itu, saya berusaha membuat jawabannya sejelas mungkin.
simhumileco
0

Di mac Anda juga dapat menggunakan perintah Z dan itu akan dibatalkan. Saya tidak yakin mengapa, tetapi terkadang berhenti, dan jika seperti saya dan vimtutor Anda ada di bagian bawah daftar panjang hal-hal yang perlu Anda pelajari, daripada Anda cukup menutup jendela dan membukanya kembali dan seharusnya berfungsi dengan baik.

Tupai
sumber
0

Saya memiliki masalah yang sama sekarang dan saya menyelesaikannya. Anda pasti tidak membutuhkannya lagi jadi saya menulis untuk orang lain:

jika Anda menggunakan gvim di windows , Anda cukup menambahkan ini di _vimrc Anda : $VIMRUNTIME/mswin.vim behave mswin

kalau tidak gunakan imap ...

Cloud Duan
sumber