2012-07-29 46 views
23

Trong phím Emacs, space có thể thụt lề chính xác 1 dòng. Nếu tôi chọn một vài dòng, và bấm phím space, tính năng thụt lề không hoạt động.Thụt lề nhiều dòng trong Emacs

Bằng cách thực hiện theo đây link, tôi thử C-M-\ hoặc C-M-q, nhưng C-M sẽ xóa trực tiếp toàn bộ khối đã chọn.

Đây là số .emacs của tôi, có ai giúp được không?

+3

Liệu không 'dòng thụt tab'? – phimuemue

Trả lời

14

Nếu bạn muốn Emacs thụt lề chính xác nhiều dòng, thì lệnh là C-META \ còn được gọi là C-M-\. Nói cách khác, nó không phải Control - M, nhưng Control - Meta - Backslash (kiểm soát + Alt + \ trên hầu hết các bàn phím)

+0

Cụ thể, điều này đưa ra lệnh 'indent-region'. Nó không làm gì nếu không có tham số 'column'. Để cung cấp điều này, người ta phải sử dụng tiền tố đối số chung 'C-u' theo sau là số cột để thụt lề. Ví dụ, nếu bạn muốn thụt lề đến cột thứ ba, thì chuỗi khóa là 'C-u 3 C-M- \'. Đối với tôi, trong khi điều này không thụt lề khu vực, nó cũng phá hủy chương trình thụt đầu dòng hiện tại. Nó buộc mỗi dòng khu vực với cùng một mức độ thụt đầu dòng. –

61

Chọn dòng nhân, sau đó gõ Củ 8 Cx Tab, nó sẽ thụt khu vực bằng 8 không gian.

C-u -4 C-x Tab sẽ bỏ thụt lề bởi 4 gian

+2

Đây là ** chỉ ** một trong đó là làm việc cho tôi, và không thể được tìm thấy nó [GNU Emacs Indent Nhiều dòng] (https://www.gnu.org/software/emacs/manual/html_node/emacs/ Multi_002dline-Indent.html). Đóng góp tuyệt vời – benjaminmgross

+2

VÀ nó thậm chí hoạt động khi bạn ở chế độ Ác ma! chiến thắng siêu lớn! –

+0

Nó cũng là người duy nhất làm việc cho tôi. không biết tại sao C-M- \ không hoạt động. Cảnh báo – zhihuifan

Các vấn đề liên quan