Tôi đã nhận thấy trong khi chỉnh sửa dọc theo một dòng trong tệp .txt ở chế độ chèn, con trỏ sẽ di chuyển đến đầu dòng sau khi ghi bằng chuỗi phím:
<esc>:w
Tôi muốn thay đổi hành vi này sao cho con trỏ sẽ giữ nguyên vị trí theo sau: write. Điều này có thể không? Tôi không cần con trỏ duy trì ở chế độ chèn, tôi chỉ muốn nó duy trì vị trí cuối cùng sau khi viết.
Tôi đang sử dụng gVim 7.4 trên windows. .Vimrc của tôi rất cơ bản, tôi không tin bất kỳ cài đặt nào của mình can thiệp vào hành vi này. Tôi cũng đã gỡ bỏ nguồn của mswin.vim và example.vim khỏi .vimrc của tôi (như được đóng gói với trình cài đặt windows vim.org chính thức).
Sau khi đọc các bình luận bên dưới, tôi đã xem xét lại vấn đề và nhận ra con trỏ chỉ trượt sang bên trái sau khi viết lên các dòng hoàn toàn được tạo thành từ khoảng trắng ở cuối. Nói cách khác, con trỏ chỉ trượt về phía bên trái khi esc-: w khi dòng là một vết lõm treo không có ký tự nào khác ngoài dấu cách . .Vimrc đang xử lý các hành vi thụt lề với các cài đặt này:
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set autoindent
Vì vậy, một dòng mới được tạo bên dưới một dòng thụt vào sẽ chứa 4 khoảng trắng ở cuối là 4 khoảng trắng đầu tiên của dòng (mà tôi muốn giữ). Khi nhấn phím 'esc', con trỏ trượt sang bên trái của bộ đệm.
Có cách nào để giữ vị trí con trỏ khi nhấn 'esc' để trở về chế độ bình thường, trên một dòng được tạo thành từ các khoảng trắng ở cuối (như thụt đầu dòng) không?
gvim -u NONE -U NONE
(bạn có thể sử dụng cmd.exe hoặc tạo một phím tắt)? Điều này sẽ ngăn tải các tập tin vimrc (g) của bạn.