Chỉ chính xác hành vi của <CR>
trong chế độ chèn là ngắt dòng tại con trỏ.
Điều bạn muốn là hành vi được tăng cường và bạn cần thêm nội dung nào đó vào cấu hình của mình để tải xuống: ánh xạ, chức năng ngắn hoặc plugin chính thức.
Khi tôi bắt đầu sử dụng vim, hành vi đó thực sự là một trong những điều đầu tiên tôi thêm vào vimrc của mình. Tôi đã thay đổi nó nhiều lần trong quá khứ nhưng bản đồ này đã được khá ổn định trong một thời gian:
inoremap <leader><CR> <CR><C-o>==<C-o>O
Tôi đã sử dụng <leader><CR>
để giữ cho hành vi bình thường của <CR>
.
Đây là một chức năng nhỏ mà dường như để làm những gì bạn muốn:
function! Expander()
let line = getline(".")
let col = col(".")
let first = line[col-2]
let second = line[col-1]
let third = line[col]
if first ==# ">"
if second ==# "<" && third ==# "/"
return "\<CR>\<C-o>==\<C-o>O"
else
return "\<CR>"
endif
else
return "\<CR>"
endif
endfunction
inoremap <expr> <CR> Expander()
thử cách này: https://github.com/othree/xml.vim – Kent
Tôi đang gặp sự cố khi trả lời câu hỏi này vì lý do nào đó (tiếp tục gặp lỗi khi gửi một) . Tôi đã dán câu trả lời của mình vào [this gist] (https://gist.github.com/rson/7bd877744ac59bee5491). –
@RandyMorris Tôi không có vấn đề gì khi đăng câu trả lời. Thử đăng lại? – FDinoff