Di Vim, saya melakukan terlalu banyak membatalkan. Bagaimana saya membatalkan ini (yaitu, ulang)?
Di Vim, saya melakukan terlalu banyak membatalkan. Bagaimana saya membatalkan ini (yaitu, ulang)?
Jawaban:
Ctrl+r
Cmd + r
mengacaukan segalanya? Ini tentu saja melakukan sesuatu yang aneh; tetapi Ctrl + r
hanya bekerja dengan baik untuk saya (Mac + tmux + vim)
Lihat juga :undolist
, yang menawarkan banyak jalur melalui riwayat undo. Ini berguna jika Anda secara tidak sengaja mengetik sesuatu setelah membatalkan terlalu banyak.
:undolist
dan ketik :undo 178
(katakan) untuk mundur ke langkah 178.
:undolist
?
Gunakan :earlier
/ :later
. Untuk mengulang semua yang perlu Anda lakukan
later 9999999d
(dengan asumsi bahwa Anda pertama kali mengedit file paling banyak 9999999 hari yang lalu), atau, jika Anda ingat perbedaan antara kondisi undo saat ini dan yang diperlukan, gunakan Nh
, Nm
atau Ns
masing-masing untuk jam, menit dan detik. + :later N<CR>
<=> Ng+
dan :later Nf
untuk menulis file.
:later
bekerja untuk saya vi
(bukan vim - mencari "vi" di google tetapi semua hasil untuk "vim"), terima kasih!
vi
perintah itu adalah symlink ke vim executable atau salinannya. Tidak sepenuhnya di mana-mana.
vim: command not found
. Hal berikutnya yang saya lakukan adalah alias vim=vi
karena saya mengetiknya secara otomatis, tetapi ini adalah vi yang lama. Juga, redo (ctrl + r) akan berfungsi dengan baik seandainya vi menjadi alias untuk vim.
<Undo> or *undo* *<Undo>* *u*
u Undo [count] changes. {Vi: only one level}
*:u* *:un* *:undo*
:u[ndo] Undo one change. {Vi: only one level}
*CTRL-R*
CTRL-R Redo [count] changes which were undone. {Vi: redraw screen}
*:red* *:redo* *redo*
:red[o] Redo one change which was undone. {Vi: no redo}
*U*
U Undo all latest changes on one line. {Vi: while not
moved off of it}
Dalam mode perintah, gunakan Utombol untuk membatalkan dan Ctrl+ runtuk mengulang. Lihat http://www.vim.org/htmldoc/undo.html .
Pertama-tama tekan Esctombol untuk keluar dari mode edit.
Kemudian,
Untuk membatalkan , gunakan ukunci sebanyak yang ingin Anda batalkan.
Untuk mengulang , gunakan tombol Ctrl+r
Lihat bagian "undo" dan "redo" dari dokumen Vim .
: red [o] (Mengulang satu perubahan yang dibatalkan) dan {count} Ctrl+ r(Mengulangi {count} perubahan yang dibatalkan) keduanya ok.
Juga ,: {{}} awal (pergi ke keadaan teks lebih lama {count} kali) selalu bisa menjadi pengganti untuk undo dan redo.
CTRL+r
Huruf "r" adalah huruf kecil.
^r
dan ^R
, dan Vim mengikuti itu.
^X
(di mana X
bisa huruf apa saja).
Menggunakan VsVim untuk Visual Studio?
Saya menemukan ini ketika bereksperimen dengan VsVim, yang menyediakan binding untuk perintah Vim di Visual Studio .
Saya tahu tentang CtrlrVim sendiri, tetapi pengikatan khusus ini tidak berfungsi di VsVim (setidaknya tidak di pengaturan saya?).
Apa yang tidak bekerja bagaimanapun, adalah perintah :red
. Ini sedikit lebih merepotkan daripada yang di atas, tetapi masih baik ketika Anda benar-benar membutuhkannya.
Secara praktis, :undolist
sulit untuk digunakan dan pelacakan Vim :earlier
dan :later
waktu perubahan hanya dapat digunakan untuk perbaikan butir saja.
Karena itu, saya menggunakan plug-in yang menggabungkan fitur-fitur ini untuk menyediakan pohon visual undos yang dapat dijelajahi, yang disebut "Gundo."
Jelas, ini adalah sesuatu untuk digunakan hanya ketika Anda membutuhkan perbaikan yang halus, atau Anda tidak yakin dengan keadaan pasti dari dokumen yang ingin Anda kembalikan. Lihat: Gundo. Buat grafik Vim batalkan pohon dengan gaya