2013-02-27 23 views
5

Tôi đang cố gắng ánh xạ phím cách của mình để làm cho Vim chuyển sang chế độ chèn từ chế độ bình thường.Phím không gian bản đồ để chuyển sang chế độ chèn

Lý do tôi muốn làm điều này là bởi vì đôi khi tôi quên rằng tôi đang ở chế độ bình thường và bắt đầu nhập như thể tôi đang ở chế độ chèn. Khi tôi nhấn phím khoảng trắng ở giữa hoặc ngay cả khi bắt đầu trang, nó sẽ di chuyển xuống và một số loại khác hoặc các loại khác do khả năng nhấn a hoặc i trong những gì tôi vừa nhập.

Vì vậy, để tránh điều này, tôi muốn ánh xạ phím cách của tôi để chèn chế độ từ chế độ bình thường khi chúng tôi bấm i để làm như vậy.

tôi thử như sau:

map space :i 
map <space> :i 

Nhưng những doesnt có vẻ làm việc.

Trả lời

8

Bạn đang trộn lên các phương thức trong ánh xạ của bạn; đó là một khái niệm quan trọng trong Vim. Mặc dù có một lệnh :startinsert Ex trong Vim (nơi lập bản đồ của bạn sẽ thực sự bắt đầu với một :), nó đơn giản hơn để sử dụng các bình thường chế đội lệnh:

:nnoremap <Space> i 

Bạn chỉ muốn một ánh xạ chế độ bình thường đây , vì vậy :nmap, không phải :map; cp. :help map-modes. Và xem :help key-notation vì sao nó được viết <Space>.

Cuối cùng: You should always use :noremap; nó làm cho bản đồ miễn nhiễm với việc tái tạo và đệ quy.

6

yêu cầu lạ, nhưng, bạn có lý do của mình. :)

thử dòng này ra:

nnoremap <space> i 
+0

Thật lạ lùng, nhưng ['' 'bình thường '' Ánh xạ bình thường '] (http://vimdoc.sourceforge.net/htmldoc/motion.html# ) chính xác là một [' l' 's] (http://vimdoc.sourceforge.net/htmldoc/motion.html#l), vì vậy ít nhất bạn không thực sự chặn bất kỳ chức năng tiêu chuẩn nào. Tôi đã thấy tệ hơn rất nhiều :) – Johnsyweb

+0

@Kent: :) Cảm ơn. –

+0

@John: Cảm ơn :) Tôi chắc chắn sẽ nghĩ về nó, nếu không gian , sẽ tạo ra bất kỳ vấn đề nào. –

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