Saya menggunakan contoh vimrc yang diberikan di README.md.
Pertanyaannya adalah, ketika tidak ada kandidat untuk penyelesaian dan kursor berada di akhir kata, mengetuk tab tidak menghasilkan apa-apa.
Menurut pendapat saya, perilaku ideal untuk kasus ini adalah memindahkan kursor ke posisi tab berikutnya, selain mencari kandidat penyelesaian dalam daftar kosong.
Saya percaya ini disebabkan oleh
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
dalam konfigurasi vimrc yang diberikan
Bagaimana saya bisa memperbaikinya tanpa mengubah perilaku normal ketika daftar kandidat penyelesaian tidak kosong? Terima kasih!
harus memindahkan kursor ke posisi tab berikutnya.
Apa yang dimaksud dengan posisi tab berikutnya?
Kursor berada di akhir kata tidak berarti permintaan penyelesaian akan mengembalikan hasil kosong, terkadang.
harus memindahkan kursor ke posisi tab berikutnya.
Apa yang dimaksud dengan posisi tab berikutnya?
Ini berarti memasukkan karakter tab.
Saya menggunakan contoh vimrc yang diberikan di README.md.
Saya percaya ini disebabkan oleh
...
Memang. Periksa halaman wiki ini: https://github.com/neoclide/coc.nvim/wiki/Completion-with-sources#improve -completion-experience
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
Kode di atas harus membuatnya bekerja seperti yang Anda inginkan.
Ketika saya mengomentari baris itu dari vimrc, saya mendapatkan perilaku yang Anda gambarkan. Ini memetakan kembali tab kembali ke tab ketika tidak ada jendela penyelesaian yang terbuka.
Contoh di Readme adalah untuk penyelesaian pemicu ketika ada karakter kata sebelumnya, tetapi yang Anda butuhkan bukanlah pemicu penyelesaiannya, jadi Anda harus membuat peta kunci Anda sendiri untuk <Tab>
.
inoremap <silent><expr> <TAB> \ pumvisible() ? "\<C-n>" : \ <SID>check_back_space() ? "\<TAB>" : \ coc#refresh() inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>" inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
Kode di atas harus membuatnya bekerja seperti yang Anda inginkan.
Ketika saya mengomentari baris itu dari vimrc, saya mendapatkan perilaku yang Anda gambarkan. Ini memetakan kembali tab kembali ke tab ketika tidak ada jendela penyelesaian yang terbuka.
Ini bekerja. Terima kasih @DzKaki !
Komentar yang paling membantu
Ini berarti memasukkan karakter tab.
Memang. Periksa halaman wiki ini: https://github.com/neoclide/coc.nvim/wiki/Completion-with-sources#improve -completion-experience
Kode di atas harus membuatnya bekerja seperti yang Anda inginkan.
Ketika saya mengomentari baris itu dari vimrc, saya mendapatkan perilaku yang Anda gambarkan. Ini memetakan kembali tab kembali ke tab ketika tidak ada jendela penyelesaian yang terbuka.