2012-01-23 9 views
16

Tôi đã cài đặt Emacs trên hộp FreeBSD 8.2 của tôi. Mọi thứ đều hoạt động tốt nhưng tôi không thể sử dụng các tab. Khi tôi đang chỉnh sửa một tập tin với các emacs và nhấn tab, không có gì xảy ra.Tab Emacs không hoạt động

Điều gì có thể gây ra điều này?

+0

C-h k TAB cho bạn biết điều gì? – Bahbar

+0

@Bahbar Bạn có nghĩa là Ctrl - h - k? Tôi không nhận được nó, xin lỗi tôi mới đến emacs. –

+1

Ctrl-h là tổ hợp phím để nhận trợ giúp. sau đó bạn gõ k để yêu cầu một phím tắt. Nhấn TAB sau đó yêu cầu emacs "những gì được ràng buộc với TAB". Nhưng đừng bận tâm. Nếu bạn mới sử dụng các emacs, thì những gì bạn có thể thấy là tự động thụt lề. Nhấn TAB trên một dòng đã thụt lề thực sự sẽ không làm gì cả. – Bahbar

Trả lời

28

Nếu bạn mới sử dụng Emacs, bạn có thể mong đợi nhấn TAB để chèn một chữ số \T. Vì nhiều lý do, đó không phải là cách hầu hết các chế độ Emacs hoạt động. Hầu hết các chế độ chỉnh sửa sẽ tự động thụt lề mã của bạn nếu cần (<tab> bị ràng buộc là indent-for-tab-command thay vì self-insert). Nếu dòng bạn đang TAB bing on đã ở mức thụt lề chính xác, có vẻ như không có gì xảy ra.

Tự động thụt lề như thế này dễ dàng hơn và nhất quán hơn so với thụt lề thủ công, nhưng không cung cấp cho bạn nhiều linh hoạt khi quyết định chính xác số lượng khoảng trắng sẽ có mặt ở đầu mỗi dòng (và cũng gây ra một số vấn đề khi bạn muốn, ví dụ, tab-tách một số lĩnh vực). Bạn có thể tự động thụt lề một khu vực bằng cách sử dụng C-M-\ (đó là Ctrl + Alt + \).

Nếu bạn hoàn toàn, tích cực phải chèn một số \T vào mã của bạn ở đâu đó, bạn có thể làm như vậy bằng cách sử dụng C-q TAB (nhấn và thả Ctrl + q rồi nhấn TAB). Thông thường, điều này được thực hiện để căn chỉnh các cột trong các trình soạn thảo khác; nếu đó là những gì bạn đang làm, đó có thể là một ý tưởng tốt hơn để sử dụng align-regexp thay vì tab literal.

+1

làm thế nào để bạn tắt tự động thụt lề sau đó trong các emacs? – user590849

+1

@ user590849 - Có thể bạn không nên; phải mất một chút làm quen với nhưng sau đó dễ dàng hơn nhiều. Nếu bạn đang sử dụng chế độ có dấu thụt lề tự động bị hỏng vì một lý do nào đó, bạn chỉ có thể liên kết lại ' 'tới' (chèn "\ t") 'trong chế độ đó. – Inaimathi

0

Ở chế độ văn bản và văn bản tôi sử dụng C-<TAB>. Tôi không biết chế độ nào khác hoạt động, nhưng với một số ngoại lệ, văn bản thuần túy là lần duy nhất tôi cần ký tự \t thực.