it-swarm-id.com

Bagaimana cara mendapatkan vim untuk menyimpan riwayat pembatalannya?

Jika saya mengedit dua file dengan vim, mengubah ke file lain (: bnext,: bprev) tampaknya menghapus riwayat undo dari file yang terbuka - memukul laporan kunci 'u' "Sudah ada di perubahan tertua".

Sebagai contoh:

  1. vim testfile1 testfile2
  2. tambahkan beberapa hal ke testfile1
  3. :w
  4. :bn
  5. :bp
  6. u
  7. eep! tidak bisa membatalkan!

Apakah ada cara untuk menyimpan riwayat ini untuk buffer yang tidak terlihat?

35
Jeremy Kerr

Sepertinya ini akan melakukannya:

:set hidden

(dalam .vimrc)

18
Jeremy Kerr

Versi terbaru vim (7.3) memiliki undo yang persisten, sehingga Anda dapat membuat perubahan, menutup vim sepenuhnya (bahkan shutdown dan restart), restart vim, dan undo. Dalam .vimrc Anda:

" tell it to use an undo file
set undofile
" set a directory to store the undo history
set undodir=/home/yourname/.vimundo/
41
frabjous

Anda dapat menggunakan Viewports .
"vim -o testfile1 testfile2" - buka file di jendela terpisah.
": sp filename" - pisahkan dan buka "filename".
": vsp filename" - perpecahan vertikal dan buka "filename".
"Ctrl + w + panah" - Ubah viewport.

1
yevhene