it-swarm-vi.com

Làm thế nào để tôi có được vim để giữ lịch sử hoàn tác của nó?

Nếu tôi đang chỉnh sửa hai tệp bằng vim, việc đổi sang tệp khác (: bnext ,: bprev) dường như bỏ lịch sử hoàn tác khỏi tệp đang mở - nhấn vào báo cáo khóa 'u' "Đã thay đổi cũ nhất".

Ví dụ:

  1. vim testfile1 testfile2
  2. thêm một số thứ vào testfile1
  3. :w
  4. :bn
  5. :bp
  6. u
  7. eep! không thể hoàn tác!

Có cách nào để giữ lịch sử này cho bộ đệm không nhìn thấy?

35
Jeremy Kerr

Có vẻ như điều này sẽ làm điều đó:

:set hidden

(trong .vimrc)

18
Jeremy Kerr

Phiên bản mới nhất của vim (7.3) đã hoàn tác liên tục, để bạn có thể thực hiện thay đổi, đóng hoàn toàn vim (thậm chí tắt máy và khởi động lại), khởi động lại vim và hoàn tác. Trong .vimrc:

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

Bạn có thể sử dụng Chế độ xem .
[.__.] "vim -o testfile1 testfile2" - mở các tệp trong cửa sổ chia nhỏ.
[.__.] ": sp tên tệp" - tách và mở "tên tệp".
[.__.] ": Tên tệp vsp" - tách dọc và mở "tên tệp".
[.__.] "Ctrl + w + mũi tên" - Thay đổi chế độ xem.

1
yevhene