Tôi trả lời câu hỏi này bốn năm sau vì câu trả lời được cung cấp là một giải pháp một phần không hoàn toàn giải quyết câu hỏi ban đầu.
Tôi có cùng một mong muốn như olibre, và muốn đưa ra một giải pháp hoàn chỉnh. Tôi đến với nó từ một góc nhìn khác - tôi đã quen với việc chỉnh sửa dòng Emacs trong bash - nhưng vấn đề là như nhau. Tôi muốn mang nó qua chế độ chèn Vim (chỉ).
Các địa chỉ sau đây giải quyết tất cả các yêu cầu liên kết phím trong câu hỏi ban đầu được đặt ra bởi olibre, cộng với một vài bổ sung:
" Mimic Emacs Line Editing in Insert Mode Only
inoremap <C-A> <Home>
inoremap <C-B> <Left>
inoremap <C-E> <End>
inoremap <C-F> <Right>
" â is <Alt-B>
inoremap â <C-Left>
" æ is <Alt-F>
inoremap æ <C-Right>
inoremap <C-K> <Esc>lDa
inoremap <C-U> <Esc>d0xi
inoremap <C-Y> <Esc>Pa
inoremap <C-X><C-S> <Esc>:w<CR>a
Các ràng buộc duy nhất tôi dường như không thể để có được công việc vào thời điểm này là <Alt-B>
và <Alt-F>
, trong đó sẽ bỏ qua toàn bộ từ. Bất cứ khi nào tôi liên kết <Esc>
, <Alt>
hoặc <Meta>
kết hợp, gVim (v7.4 trên Windows) sẽ xuất ra các ký tự có dấu. Xin vui lòng chỉnh sửa câu trả lời này nếu bạn có một giải pháp cho vấn đề này. Tôi đã nhận được các kết hợp Alt để hoạt động dựa trên đề xuất của bài đăng khác để chỉ sử dụng các ký tự đặc biệt. Tôi đã chèn chúng ở trên.
Biên tập
- (chỉnh sửa không phải bởi poster câu trả lời gốc) -
Tôi đã sử dụng các mục sau trong Neovim và Windows 10. Bạn có thể cần thay đổi "A" thành "M" trên các HĐH khác vì "alt" có thể là "meta" ở nơi khác. Tôi đã không chơi với nó đủ.
inoremap <A-x> <Esc>:
inoremap <A-f> <Esc>lwi
inoremap <A-b> <Esc>bi
inoremap <A-S-f> <Esc>lWi
inoremap <A-S-b> <Esc>Bi
<Esc>pa
sẽ tốt hơn cho<C-Y>