Tôi muốn bỏ qua hoàn toàn hỗ trợ hoàn thành chế độ comint, thay vào đó dựa vào quy trình cấp dưới để thực hiện cho tôi. Cụ thể, nếu tôi đang chạy:
- emacs
- chế độ vỏ
- bash
- chế độ vỏ
Sau đó tôi muốn TAB
được chuyển qua quy trình bash và mở rộng bởi nó.
Nếu tôi đang chạy:
- emacs
- chế độ vỏ
- bash
- ps
- bash
- chế độ vỏ
Sau đó tôi muốn TAB
được xử lý bởi psql.
Tôi đã thử điều này trong hook-mode-hook nhưng không có kết quả:
(define-key shell-mode-map "\t" 'self-insert-command)
Khi điều này được đặt, TAB
Phím chèn một tab bằng chữ trên dòng lệnh, điều này hoàn toàn không hữu ích với tôi.
Tôi cũng đã thử điều này, nhưng khi tôi nhấn TAB
chẳng có gì xảy ra:
(defun cr/comint-send-tab ()
"Send a tab character to the current buffer's process"
(interactive)
(comint-send-input t t)
(process-send-string (current-buffer) "\t"))
(define-key shell-mode-map "\t" 'cr/comint-send-tab)
Tôi có thể làm cái này như thế nào?