Tôi muốn định cấu hình vim để mở một tệp tại cùng một vị trí mà tôi đã dừng lại tại.Trong vim, làm cách nào để mở một tệp ở cùng một số dòng tôi đã đóng tệp lần cuối?
Trả lời
Từ tập tin /etc/vim/vimrc
của Ubuntu, ví dụ này là nhận xét ra:
" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal! g'\"" | endif
endif
Nếu điều này không làm việc, một vấn đề phổ biến là không có quyền sở hữu của tập tin ~/.viminfo
của bạn. Nếu đây là trường hợp, sau đó chạy:
sudo chown user:group ~/.viminfo
nơi người dùng là username
của bạn và group
thường là giống như tên người dùng của bạn.
:h views-sessions
Bạn có thể đặt này trong thư mục vimrc:
au BufWinLeave * mkview
au BufWinEnter * silent loadview
quan điểm sẽ được đặt trong $ HOME/.vim/xem. Bạn có thể cần tạo các thư mục này.
Tôi thích câu trả lời này vì câu trả lời khác được đề cập đến/etc/vim/file không tồn tại trên máy Mac của tôi. – MarkHu
Nếu bạn không nhớ tự động hóa buôn bán vì đơn giản, chỉ cần nhấn tổ hợp phím '" (apostrophe, tiếp theo là dấu ngoặc kép) vào mở một tập tin, bạn sẽ nhảy đến nơi mà bạn được. Đây là cơ bản những gì @ marcog của câu trả lời là làm
Nếu bạn đã viminfo được kích hoạt, nó cũng đơn giản như `0
để đi đến vị trí tập tin cuối cùng thay đổi nội dung bạn sẽ nhận thấy rằng đây chỉ là một 'đi để đánh dấu' lệnh;..
Thật vậy, sau này bạn có thể làm '3 để đi đến vị trí đã chỉnh sửa thứ ba trước đó (có thể trong một tệp khác), và sau đó quay lại người cuối cùng với `0
lại
Có một cái nhìn tại
:marks
xem vị trí nhớ. Cũng lưu ý rằng viminfo lưu trữ tất cả các loại nội dung khác (như nội dung của sổ đăng ký, nhãn hiệu cho mỗi tệp, lệnh và lịch sử tìm kiếm). Hầu hết mọi người đều bật tính năng này vì lý do rõ ràng
'0 không hoạt động đối với tôi trên phiên bản vim 7.4.1689 trên mac. Nhưng '0 không lừa. Đây có phải là lỗi đánh máy trong câu trả lời không? – alamoot
@alamoot no it is not, xem [vimdoc motion.txt] (http://vimdoc.sourceforge.net/htmldoc/motion.html#mark-motions) - Kiểm tra xem ký tự '\' 'của bạn thực sự tạo ra cái gì, hoặc làm ': verbose map \' ' – sehe
bạn nói đúng. Theo vimdoc cả hai đều đúng! – alamoot
Có plugin được gọi là vim-lastplace (Tôi là tác giả) sẽ mở tệp của bạn ở nơi bạn đã dừng lại. Nó cải thiện các đề xuất ở trên bằng cách bỏ qua các thông báo cam kết vì bạn thường chỉnh sửa một tin nhắn mới và muốn bắt đầu ở đầu tệp tin cam kết.
tất cả những gì bạn có thể làm mà không cần plugin là tốt nhất. nhằm mục đích cho .vimrc: mã càng nhỏ và nhanh hơn – nilon
Đôi khi /root/.viminfo
trở thành chỉ đọc. Đó cũng có thể là lý do khiến vim không lưu trữ vị trí con trỏ của bạn khi bạn đóng tệp.
Bạn có thể bắt đầu vim mà không chỉ định một tên tập tin sử dụng
vim
Tiếp theo nhấn CTRL + O hai lần để di chuyển đến vị trí cuối cùng trong bất kỳ tập tin bạn làm việc trên.
- 1. Tôi làm cách nào để mở vim bằng một số dòng cụ thể ở trên cùng?
- 2. Có cách nào để làm cho vim nhận ra số dòng ở cuối tên tệp không?
- 3. Cách mở lại một bộ mô tả tệp đã đóng
- 4. Làm thế nào để kích hoạt dòng bọc chỉ cho một số loại tệp trong Vim?
- 5. svn: Làm cách nào để xác định lần cuối cùng một dòng nhất định đã được thay đổi?
- 6. Làm cách nào để nhận dòng cuối cùng trống của một tệp bằng đuôi trong Bash?
- 7. Làm thế nào để tự động đóng NERDTree sau khi một tệp đã được mở?
- 8. Tìm dòng cuối cùng trong một tệp văn bản
- 9. Có cách nào để mở nhiều tệp cùng một lúc từ vim không?
- 10. Làm cách nào để bật số dòng (ở bên trái) mỗi lần tôi mở Emac?
- 11. Mở lại tab đã đóng cuối cùng trong Visual Studio
- 12. Có cách nào để NetBeans đảm bảo một dòng mới ở cuối tệp không?
- 13. Làm cách nào tôi có thể mở lại một InputStream đã đóng khi tôi cần sử dụng nó 2 lần
- 14. Thêm ký tự ở đầu và cuối mỗi dòng trong một tệp
- 15. Làm cách nào để mở tệp ở chế độ đọc/ghi trong Vim?
- 16. Vim, mở lại cửa sổ đóng cửa cuối cùng, đã được chia tách
- 17. Làm cách nào để mở nhiều tệp cùng lúc trong Vim?
- 18. Làm cách nào để viết dòng tiếp theo trong lần mở tệp csv tiếp theo?
- 19. Tôi làm cách nào để thêm một chuỗi vào đầu mỗi dòng trong một tệp?
- 20. dừng tìm kiếm gia tăng vim ở cuối tệp
- 21. Làm cách nào để biết tệp nào tôi thực sự đã thay đổi kể từ lần thanh toán TFS cuối cùng của tôi?
- 22. Cách tính số lần từ xuất hiện trong một tệp hoặc trong một số phạm vi
- 23. Tôi làm cách nào để định cấu hình vim để mở các tệp zip?
- 24. Sử dụng git diff trong cùng một tệp giữa cam kết đầu tiên và lần cuối
- 25. Xóa dòng cuối cùng trong tệp bằng python
- 26. Làm cách nào để chỉ ghi một số dòng nhất định của một tệp trong Perl?
- 27. Bash- cách đọc dòng thứ hai đến cuối cùng trong một tệp?
- 28. Tôi làm cách nào để buộc http cho một số tệp trong tệp web.config
- 29. Làm cách nào để tìm tệp xử lý quá trình của tôi đã mở trong Linux?
- 30. Cách khắc phục cảnh báo “Không có dòng mới ở cuối tệp” cho nhiều tệp?
Autocmd xuất hiện trực tiếp từ tài liệu vim. Xem: help last-position-jump – user55400
Nếu dấu nháy đơn trong đường áp chót được thay đổi thành một dấu gạch chéo ngược, nó sẽ nhảy đến vị trí con trỏ thực tế, không chỉ là đầu của dòng đó: '\ | exe "bình thường! g \' \ "" | endif' – u2622
Phần 'chown' cố định vấn đề cho tôi. – slowpoison