Trong vim, tôi muốn hoàn tác qua tất cả thay đổi trong tất cả bộ đệm theo trình tự thời gian.vim - hoàn tác trên tất cả bộ đệm/cửa sổ/tệp mở vv
ví dụ: trong phiên vim, tôi thường có nhiều tab đang mở, có nhiều cửa sổ trong mỗi tab. Sử dụng u
để hoàn tác (hoặc g;
/g,
để di chuyển qua danh sách thay đổi), vim di chuyển qua các thay đổi được thực hiện cho rằng bộ đệm, ngay cả khi có nhiều thay đổi gần đây hơn trong các bộ đệm khác. (Mà tôi thừa nhận, là những gì tôi muốn hầu hết thời gian.)
Nhưng có cách nào để di chuyển trở lại thông qua các thay đổi trong tất cả các bộ đệm theo trình tự thời gian? (Tôi tưởng tượng vim sẽ nhảy xung quanh từ tab này sang tab khác.)
Tại sao điều này hữu ích? ... chủ yếu là như vậy khi tôi tiếp tục viết mã sau khi nghỉ ngơi, tôi có thể nhắc nhở bản thân mình về "nơi tôi đến", tức là tất cả những thay đổi tôi đã thực hiện lần trước.
(sử dụng MacVim 7.3)
UPDATE: phản ứng về việc sử dụng git/lanh lợi làm cho điểm tốt (nhờ đặc biệt đối với git stash
), nhưng tôi vẫn muốn thấy tính năng này hữu ích vì nó bước tôi trở lại qua những thay đổi gần đây, trật tự, với màu cú pháp, bên trong vim vv)
Tôi cho rằng nhật ký cam kết là chỉ báo tiến bộ tốt hơn bất kỳ thứ gì khác. Ngay cả khi bạn có những thay đổi chưa hoàn thành, bạn có thể thêm một tin nhắn vào 'git stash'. – derekerdmann
FTR Tôi đồng ý với tình cảm chung ở đây: sử dụng VCS. Tốt hơn, hãy sử dụng DVCS và microcommit! – sehe
Trường hợp sử dụng khác: Tôi chỉ dành 5 phút để tái cấu trúc quá tích cực. Bây giờ một tấn các bài kiểm tra đơn vị đang thất bại và tôi không có ý tưởng những gì tôi đã phá vỡ. Tôi muốn hoàn tác cho đến khi các bài kiểm tra lại xuất hiện. Có, nếu tôi nghĩ rằng để kiểm tra vào kiểm soát phiên bản trước khi refactoring nó sẽ có được tốt, nhưng tôi không nghĩ về điều đó. – alexanderbird