Saya sering ingin pergi ke baris baru saat saran mode perusahaan ditampilkan. Bagaimana saya bisa mengatur mode perusahaan sehingga hanya tombol tab yang memicu penyelesaian?
key-bindings
completion
company-mode
Connor
sumber
sumber
Pengaturan lengkap saya untuk memperbaiki perilaku default yang mengganggu ini adalah:
( tautan ke konfigurasi saat ini, yang telah lebih ditingkatkan tetapi cukup rumit pada titik ini)
(diperbarui sesuai pertanyaan ini )
sumber
(define-key company-active-map (kbd "C-RET") #'company-complete-selection)
tetapi tidak berhasil. Apakah Anda tahu apakah ini mungkin dan bagaimana cara mencapainya?TAB
untuk memilih item pertama dalam daftar tanpa perlu 'berinteraksi'. Tetapi untuk menjawab pertanyaan Anda, saya yakin terminal Anda tidak dapat mengirimC-RET
(saya tidak bisa). CobaC-h k C-RET
dan lihat apakah Emacs benar-benar mendapatkan sinyal,C-RET
bukan hanyaRET
.(define-key company-active-map (kbd "TAB") #'company-complete-common-or-cycle)
tetapi sepertinya hak Anda, ketika saya mengubah sesuatu selain C-RET saya mendapatkan perilaku yang diinginkan. Terima kasih.M-p
danM-n
, atau Melakukan pencarian denganC-s
, atau secara langsung memilih kandidatM-1
melaluiM-0
(angka ditampilkan jika Anda menyetelcompany-show-numbers
).Hanya melihat ini sambil mencari solusi untuk masalah yang sama (meskipun kunci yang mengganggu bagi saya adalah
SPC
dan.
).Saya menemukan bahwa mengikat kunci yang menyinggung
nil
seperti yang diusulkan oleh @glucas dan @Radon Rosborough bukan UX yang bagus karena Anda perlu secara manual membatalkan dropdown perusahaan yang mengganggu untuk mengetik cepat.Artinya, jika perusahaan menjadi aktif dan Anda mengetikkan kunci yang terikat pada
nil
apa pun tidak akan terjadi. Bukan itu yang Anda harapkan ketika Anda mengetik karakter. Anda akan mengharapkan karakter dimasukkan.Alih-alih, jauh lebih mudah untuk memanggil emacs secara otomatis
company-abort
dan kemudian memasukkan karakter yang diketik untuk Anda. Inilah solusi saya:Saya pikir Anda dapat dengan mudah memperpanjang ini
RET
dengan menelepon(newline)
alih-alih(insert-char)
, (meskipun saya belum mencobanya karena saya gunakanRET
untuk memilih).Sebenarnya saya menggunakan
use-package
jadi ini yang saya miliki di init saya:sumber