Tôi không phải là người hâm mộ lớn của Ctrl-n
, tôi muốn có thể sử dụng Ctrl-Space
. Bất kỳ ý tưởng làm thế nào tôi có thể làm điều đó?Làm thế nào tôi có thể thay đổi keybinding được sử dụng để tự động hoàn thành trong vim?
Trả lời
Nếu bạn muốn để ánh xạ nó vào, nói, Ctrl-E, nó muốn được một cái gì đó như:
inoremap <C-E> <C-N>
Vấn đề với Ctrl - Space là hầu hết các thiết bị đầu cuối sẽ chỉ nhìn thấy nó như một không gian. Tôi sẽ giả sử bạn đang sử dụng một số chương trình thiết bị đầu cuối bên trong X; nếu bạn đang sử dụng một cái gì đó khác nhau, bạn sẽ phải cung cấp các thay thế có liên quan cho mình.
Đường dây của Bash thường có Ctrl - V ánh xạ tới "xử lý khóa tiếp theo dưới dạng chữ". Vì vậy, hãy nhấn Ctrl - V rồi Trang chủ tại dòng lệnh bash sẽ chèn ^[[H
hoặc thứ gì đó giống như vậy trên dòng lệnh, thay vì bắt đầu dòng. Hãy thử nhấn Ctrl - V rồi Ctrl - Không gian. Có lẽ bạn sẽ chỉ nhìn thấy một không gian.
Trong trường hợp đó, bạn sẽ phải đánh lừa với xmodmap hoặc viết riêng của bạn/usr/share/X11/xkb/* các tập tin để nói với X để ra một cái gì đó khác nhau khi bạn nhấn tổ hợp phím Ctrl - Space. Các chương trình như Firefox không quan tâm; họ phát hiện ra khóa cơ sở nào đang được nhấn và tìm ra chính mình những gì modifiers đang được nhấn. Nhưng hầu hết các chương trình thiết bị đầu cuối dựa trên sẽ chỉ thấy Ctrl - Space như một không gian, trừ khi bạn nói với X để điều trị không gian và Ctrl - Space khác nhau.
Tôi nghi ngờ bạn có thể thực hiện thay đổi này chỉ với xmodmap; có thể bạn sẽ cần phải thực hiện các cuộc tấn công cấp thấp hơn/usr/share/X11/xkb/*. Điều này phức tạp, và tôi thậm chí không biết nếu bạn đang sử dụng X ở nơi đầu tiên, vì vậy tôi sẽ để nó ở đó.
Một số thiết bị đầu cuối như urxvt cho phép bạn chỉ định keybindings của riêng bạn. Giống như Firefox, họ có thể biết khi nào là Không gian và khi đó là Không gian Điều khiển ngay cả khi bạn không làm bất kỳ điều gì đặc biệt để định cấu hình X. Vì vậy, bạn có thể yêu cầu xuất urxvt "\ 033I_TYPED_CONTROL_SPACE_DAMMIT" khi bạn nhấn Ctrl - Không gian. Và sau đó bạn có thể yêu cầu vim lập bản đồ rằng đến <C-N>
.
EDIT: Tôi quên rằng Ctrl-Space được sử dụng để xuất \0
(Tôi đã remapped rằng một nơi khác trên bàn phím của tôi). Trong trường hợp đó, tất cả sự phức tạp mà tôi mô tả ở trên là không cần thiết. Những gì tôi đã nói sẽ áp dụng cho người muốn sử dụng bản đồ kỳ lạ hơn, như Ctrl -colon hoặc Alt - Không gian.
Tuy nhiên, một người nào đó đã nỗ lực để mô tả những gì đang diễn ra ở đây. Các câu trả lời khác thiếu bất kỳ mô tả về lý do tại sao giải pháp của họ làm việc :-) – JepZ
Tôi thích chế độ Ctrl + Space.
" Remap code completion to Ctrl+Space {{{2
inoremap <Nul> <C-x><C-o>
Trong trường hợp của bạn, bạn muốn:
inoremap <Nul> <C-n>
Nếu bạn đang ở trong gvim, bạn sẽ muốn
'<[email protected]>' được sử dụng cho C-Space trong một số thiết bị đầu cuối (PuTTY tôi nghĩ), tôi đoán
if has("gui_running")
" C-Space seems to work under gVim on both Linux and win32
inoremap <C-Space> <C-n>
else " no gui
if has("unix")
inoremap <Nul> <C-n>
else
" I have no idea of the name of Ctrl-Space elsewhere
endif
endif
Lưu ý: bạn có thể phải sử dụng 'has (" gui_running ")', như 'has ("gui") 'đơn giản trả về nếu vim của bạn được biên dịch với tùy chọn' gui', không phải là bạn đang sử dụng nó ngay bây giờ. – Dogbert
Nó không được kết nối trực tiếp với unix. '
- 1. Làm thế nào để có được vim để tự động hoàn thành mã jQuery của tôi?
- 2. Tự động hoàn thành dây có thể (RopeCodeAssist) trong vim không tự động chèn kết quả?
- 3. Hoàn thành tự động XCode trong vim (không có tab)?
- 4. Thành ngữ Haskell nào tôi có thể sử dụng để thực hiện tự động hoàn thành tìm kiếm khi bạn nhập tự động hoàn thành tại dòng lệnh?
- 5. Tự động hoàn thành Vim + Đề xuất?
- 6. Làm cách nào để thay đổi hoàn thành lịch sử bash để hoàn thành những gì đã có trên dòng?
- 7. Vim tự động hoàn thành cho Python
- 8. Thay đổi phím nóng để chọn tự động hoàn thành
- 9. Plugin Vim nào tự động hoàn thành mã Ruby?
- 10. Có thể thay thế được giá trị tự động hoàn thành bằng khóa trước khi đăng
- 11. Làm thế nào để tắt hoàn thành tự động biểu mẫu của firefox mà không có sự kiện thay đổi?
- 12. Tự động hoàn tất có thể thay đổi kích thước
- 13. Vim tự động hoàn toàn
- 14. Vim tự động hoàn thành cấu trúc trong C
- 15. Elisp: Thay đổi điều chỉnh keybinding
- 16. clang_complete: Tự động hoàn thành Vim cho iOS
- 17. Tôi có thể sử dụng javascript để tự động thay đổi nguồn của video không?
- 18. Vim: Tự động hoàn thành thông minh hơn
- 19. Sử dụng VIM cho phát triển C++/Qt w/Tự động hoàn thành
- 20. Cách hoàn tác hiệu quả tự động hoàn thành trong vim
- 21. hoàn thành tự động đường dẫn vim, làm cách nào để nhập một thư mục?
- 22. Tôi làm cách nào để sử dụng vim để chuyển đổi tệp của mình thành utf8?
- 23. Làm thế nào tôi có thể tự động chuyển đổi MySQL DDL thành Oracle DDL?
- 24. Làm thế nào để tự động thay đổi jqplot renderer?
- 25. Trong Zend studio, làm thế nào để nói cho ide loại biến, vì vậy tôi có tự động hoàn thành?
- 26. Làm thế nào có thể "Sửa đổi theo" được thay đổi khi sử dụng RunWithElevatedPrivileges?
- 27. Làm thế nào tôi có thể sử dụng VIM để làm .Net Phát triển
- 28. vim thay thế ký tự thành \ n
- 29. Làm thế nào để đặt tự động hoàn thành = tắt toàn cầu cho ứng dụng ASP.NET?
- 30. Tôi làm cách nào để sử dụng IDEA intellij để tự động hoàn thành các tham số phương pháp?
môi trường gì? (Windows? Unix? Console vim hoặc gvim? Thiết bị đầu cuối nào?) –