Tôi đang cố gắng thiết lập ánh xạ chế độ bình thường để dễ dàng thêm khoảng trắng xung quanh con trỏ:
<C-h>
sẽ thêm một khoảng trắng ở bên phải con trỏ;
<C-j>
sẽ thêm một dòng mới bên dưới;
<C-k>
sẽ thêm một dòng mới ở trên;
<C-l>
sẽ thêm một khoảng trắng ở bên phải con trỏ; và
<C-Enter>
sẽ thêm một dòng mới ở vị trí con trỏ hiện tại.
Tôi cũng muốn vị trí con trỏ không di chuyển trong lệnh. Đối với bên trái, bên phải và dòng mới, điều này rất đơn giản:
nnoremap <C-h> i <Esc>l
nnoremap <C-l> a <Esc>h
nnoremap <C-^M> i<CR><Esc><Backspace>
nhưng đối với bên trên và bên dưới, các lệnh tương ứng
nnoremap <C-j> o <Esc>k
nnoremap <C-k> O <Esc>j
sẽ đưa tôi trở lại đúng dòng, nhưng không trở lại cùng cột mà tôi đã ở trước đó.
Có cách nào để trở về vị trí con trỏ tôi đang ở ngay trước khi vào chế độ chèn không? Google-fu tốt nhất của tôi chỉ đưa ra các tham chiếu đến ''
& double-backtick (không thể tìm ra cách định dạng đánh dấu ở đó) và :jumps
/ <C-O>
& <C-I>
, cả hai dường như không hoạt động theo cách tôi muốn.
Điều này có thể được giải quyết mà không có Vimscript? Nó thậm chí có thể được giải quyết với Vimscript?
m'
và''
thay vìm`
và``