Tôi chỉnh sửa câu trả lời và câu hỏi StackOverflow của mình với ViewSourceWith và Emacs. Thông thường, tôi bao gồm mã và StackOverflow formatting rules nói rằng nó phải được thụt vào bởi bốn dấu cách để được nhận dạng là như vậy. Làm điều đó bằng tay hoặc ngay cả với macro là đau đớn.Sử dụng Emacs để thụt lề (shift 4) mã
Tôi đã tìm kiếm trong các bài đăng trước của SO nhưng không tìm thấy gì.
Bắt đầu từ chế độ Python, tôi đã viết:
(defun text-shift-region (start end count)
"Indent lines from START to END by COUNT spaces."
(save-excursion
(goto-char end)
(beginning-of-line)
(setq end (point))
(goto-char start)
(beginning-of-line)
(setq start (point))
(indent-rigidly start end count)))
(defun text-shift-region-right (start end &optional count)
"Shift region of code to the right
Stolen from python-mode.
The lines from the line containing the start of the current region up
to (but not including) the line containing the end of the region are
shifted to the right, by `text-indent-offset' columns.
If a prefix argument is given, the region is instead shifted by that
many columns. With no active region, indent only the current line."
(interactive
(let ((p (point))
(m (mark))
(arg current-prefix-arg))
(if m
(list (min p m) (max p m) arg)
(list p (save-excursion (forward-line 1) (point)) arg))))
(text-shift-region start end (prefix-numeric-value
(or count text-indent-offset)))
)
;; Code in StackOverflow must be marked by four spaces at the
;; beginning of the line
(setq text-indent-offset 4)
(global-set-key "\C-c>" 'text-shift-region-right)
Có vẻ như để làm việc nhưng tôi hoan nghênh lời khuyên, giải pháp thay thế, báo cáo lỗi, , vv
Đây không phải là một câu hỏi ... –
Đó là, tôi hy vọng sẽ nhận được giải pháp thay thế cho giải pháp nấu nhanh chóng của tôi hoặc để nhận các bản vá lỗi thú vị. – bortzmeyer
Ngoài ra, có vẻ như nó có thể giúp một số người vì vậy tôi sử dụng điều này như một cách để xem liệu có đủ sự quan tâm để yêu cầu một tài liệu ở đâu đó không. – bortzmeyer