Làm cách nào để tắt hoàn toàn tất cả tự động thụt lề trong Emacs? Tôi cần phải tắt nó ít nhất cho chế độ Cơ bản, nhưng tôi ổn với việc nó bị vô hiệu hóa trên toàn cầu cho phiên hiện tại.
Xin vui lòng đọc phần còn lại của câu hỏi này trước khi tuyên bố nó là một bản sao. Tất cả các câu trả lời khác mà tôi tìm thấy là để vô hiệu hóa mục tiêu thụt đầu dòng nhiều hơn. Tôi thực sự muốn vô hiệu hóa hoàn toàn tất cả thụt lề tự động cho toàn bộ phiên.
Thiết electric-layout-mode
để nil
không hoạt động.
Chi tiết
Đôi khi tôi muốn soạn tin nhắn cam kết Git lớn với trình soạn thảo văn bản Windows ASCII của mình. Các thông báo này thường có danh sách dấu đầu dòng, khối mã hoặc những thứ khác trong đó định dạng chính xác trong tài liệu nguồn của tôi có ý nghĩa. Cơ sở mã của tôi là trên Linux và tôi kết nối với hộp bằng ứng dụng SSH chỉ có văn bản. Khi Git nhập Emacs để chỉnh sửa thông điệp cam kết, tôi muốn có thể sao chép thông điệp cam kết nguồn vào bảng tạm của Windows sau đó dán nó bằng các lệnh dán của Windows. Từ góc nhìn của Emacs, tôi đang gõ những gì được tìm thấy trong tệp văn bản Windows. Thật không may, khi Emacs nhìn thấy các đường thụt vào, nó sẽ tự động thụt lề, vì vậy tôi nhận được hình tam giác lớn của khoảng trắng dọc theo cạnh trái của bộ đệm.
Tôi đang sử dụng GNU Emacs 24.3.1.
Cách giải quyết
Cách giải quyết hiện tại của tôi là chuyển tệp văn bản Windows của tôi sang hệ thống tệp được gắn bởi máy chủ Linux của tôi, tải tệp vào Emacs, sau đó sử dụng kill và yank để chuyển nội dung. Đây là một chút lộn xộn.
Thí dụ
Đây là một khối văn bản mẫu:
a
- b
c
d
Đây là cách nó xuất hiện khi tôi dán nó vào Emacs-under-ssh thông qua MSWin paste:
a
- b
c
d
Nếu tôi nhấn C-h l
sau khi thực hiện dán, đây là những gì tôi thấy. Lưu ý rằng các dòng mới là đầu vào sử dụng C-j
, không RET
.
a C-j C-j SPC SPC - SPC b C-j SPC SPC SPC SPC c C-j
SPC SPC SPC SPC d C-j C-h l
:set paste
không? Về cơ bản điều đó nói rằng "không chạm vào văn bản đã dán bằng bất kỳ cách nào". Mà cũng bao gồm tự động thụt.
hack-local-variables-hook
- để hoàn tác những gì các chế độ chính khác được đặt làm một phần của chúng khởi tạo tiêu chuẩn.fundamental-mode
chỉ là một chức năng nhỏ bên trongsimple.el
- tức là(kill-all-local-variables) (run-mode-hooks)
.M-x find-function RET fundamental-mode RET
- bạn có thể sửa đổi / tạo riêng của bạn khi cần thiết; tuy nhiên, nếu bạn thay đổi tên, nó sẽ không được sử dụng bởi một số chức năng - vì vậy hãy xem xét việc giữ nguyên tên đó.