2014-05-08 22 views
7

Tôi đang cố gắng ánh xạ nhấn [ctrl] + [dấu chấm phẩy] ở chế độ chèn để di chuyển đến cuối dòng và thêm dấu chấm phẩy. Đó là điều tôi thấy mình đang làm rất nhiều sau khi cài đặt plugin surround.Làm cách nào để ánh xạ Ctrl + dấu chấm phẩy để thêm dấu chấm phẩy vào cuối dòng?

Tôi cố gắng chạy lệnh này

inoremap <c-;> <esc>A;<esc> 

nhưng khi tôi thử nó, nó thoát tôi ra khỏi chế độ chèn, và chuyển sang chế độ lệnh. Đang thử với một công cụ sửa đổi khác d cũng mang lại kết quả tương tự.

Dấu chấm phẩy có thể không được ánh xạ với công cụ sửa đổi không? Tôi đang làm gì sai?

Trả lời

4

Tôi không đọc kỹ câu hỏi của bạn, chỉ thấy bản đồ của bạn đưa bạn ra khỏi chế độ chèn và <esc> ... lỗi mới nhất của tôi.

Bạn muốn bản đồ ctrl+; vim không thể chụp mã khóa. có một số tổ hợp phím không thể được ánh xạ trong vim. ; là một trong số đó, ví dụ khác như ctrl+=.

để bạn có thể chọn một ánh xạ khác.

btw, bạn có thể thử trong chế độ chèn nhấn ctrl-v thì tổ hợp phím để xem liệu nó có thể được sử dụng hay không.

+0

có cùng một kết quả:/ – fent

+0

@DeaDEnD thấy cập nhật – Kent

+1

@DeaDEnD cũng có, FYI: http://vim.1045645.n5.nabble.com/Mapping-ctrl-ctrl-semicolon-td1193549.html – Kent

3

Tùy thuộc vào thiết bị đầu cuối của bạn, bạn có thể thiết lập ánh xạ. Ví dụ, nếu bạn sử dụng urxvt, trong ~/.Xresources add:

URxvt.keysym.C-semicolon: \033[; 

Và trong ~/.vimrc add:

map <Esc>[; <C-Semicolon> 
map! <Esc>[; <C-Semicolon> 

Sau đó, bạn sẽ có thể để ánh xạ nó như thế này (không kiểm tra):

inoremap <c-Semicolon> <Esc>A;<Esc> 

Tôi sử dụng tính năng này để ánh xạ cửa sổ phân chia bản đồ như thế này (điều này phù hợp với tôi):

.210
Các vấn đề liên quan