Tôi có thể lưu nếp gấp không?


13

Hôm nay tôi đã học được cách gấp / mở trong Vim; nó khá tiện dụng

Thật bất ngờ, khi tôi thoát một tập tin và nhập lại nó, các nếp gấp tôi tạo ra đã biến mất (mở ra).

Trong dự án lớn của công ty chúng tôi, có khá nhiều khối mã dính (di sản) là loại lỗi thời nhưng không thể thiếu.

Tôi thực sự cần phải gấp chúng gần như vĩnh viễn.

Có cách nào ngắn gọn để nói với Vim lưu các tùy chọn gấp của tôi cho một tệp không?


1
Tôi không biết liệu nó có giải quyết được vấn đề của bạn không, nhưng có lẽ các lệnh :mkview:loadviewlệnh có thể giúp ích. Bạn có thể thử thêm 2 dòng bên trong vimrc của bạn au BufWinLeave *.c mkviewau BufWinEnter *.c silent loadviewvà thích ứng chúng với nhu cầu cụ thể của bạn. Đây là các autocommands sẽ được thực hiện tự động bất cứ khi nào bạn để lại bộ đệm cho cái đầu tiên và khi bạn nhập bộ đệm cho cái thứ hai, nhưng chỉ cho các tệp C. Tôi đã sao chép chúng từ sự trợ giúp của :mkviewlệnh ( :help :mkview).
saginaw

1
Theo sự giúp đỡ, nó sẽ khôi phục các nếp gấp khi sử dụng gấp thủ công và tùy chọn 'viewoptions'chứa folds. Nếu bạn muốn autocommands được thực thi cho các kiểu tệp khác, bạn có thể thay đổi autocommands. Ví dụ: nếu bạn muốn thêm tệp python, bạn có thể thay đổi *.cthành *.c,*.py.
saginaw

Tôi xin lỗi, tôi đã sai khi tôi nói rằng autocommands sẽ được thực thi bất cứ khi nào bạn nhập / rời bộ đệm. Cái đầu tiên sẽ được thực thi sau khi bộ đệm được hiển thị trong một cửa sổ, cái thứ hai sẽ được thực thi trước khi bộ đệm được loại bỏ khỏi cửa sổ.
saginaw

Câu trả lời:


6

Tôi làm chính xác điều này cho một tập tin mà tôi đề cập đến rất nhiều NOTES.otlTôi đã thực hiện như sau trong .vimrc:

" Useful for my Quick Notes feature in my tmuxrc
augroup QuickNotes
  au BufWrite,VimLeave NOTES.otl mkview
  au BufRead           NOTES.otl silent loadview
augroup END

Điều này có nghĩa là trong trường hợp của bạn, bạn có thể xử lý các nếp gấp thủ công bằng cách sử dụng các lệnh :mkview:loadview.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.