Mã gấp trong Emacs
Đôi khi tôi muốn gấp một khối văn bản. Trong Vim bạn có thể dễ dàng gấp mà không cần fuzz. Không cần thêm bất kỳ ký tự đặc biệt nào như "đánh dấu" hoặc regex cụ thể như thế nào {{{
. Tôi muốn chọn một khu vực và gấp nó, mà không làm hỏng cấu trúc.
Khi nhìn xung quanh, có vẻ như đã có câu hỏi về việc gấp mã trong Emacs. Có người nói rằng "không có giải pháp hoàn hảo". Ví dụ: tôi đã tạo một clip về cách viết mã đơn giản trong Vim:
Vim gấp
+ Khá đơn giản, chọn một khu vực và gấp nó.
+ Đó là sự kiên trì. Khi bạn giết bộ đệm / đóng Vim. Và mở lại tập tin, các nếp gấp vẫn còn đó.
+ Bạn có được một thanh đánh dấu, để dễ dàng nhìn thấy những gì được gấp lại.
Có nhiều cấu hình gấp khác cho Vim. Tôi hạnh phúc với Emacs, nhưng đây là một điều mà tôi nhớ. Các lựa chọn thay thế khác mà tôi đã thử, ví dụ HideShow:
Ẩn
Cái ác thay thế với hide-show minor mode
. Tôi thấy nó không sử dụng được:
- Tôi không thể chọn một khu vực và gấp nó. Nó gấp trên các khối mã.
- Không có thanh higlihgting hay thứ gì đó, để tham dự với bạn, nó được gấp lại. Bạn có thể dễ dàng bỏ lỡ nó.
- Nó không dai dẳng. Nếu bạn mở lại tập tin, các nếp gấp sẽ biến mất.
Có một gói khác, Gấp cái này :
Gấp cái này
- Đó là một thay thế khá. Tuy nhiên, nó lộn xộn với vết lõm, bởi vì văn bản dưới nếp gấp được đặt bên cạnh nếp gấp ... (?).
- Nó có thể chỉ cần chọn trực quan khu vực và gấp nó. Nhưng nó phá vỡ sự bổ sung, vì vậy tổng quan bị rối tung. Không tiện dụng lắm.
- Không có thanh higlihgting hoặc một cái gì đó, để tham dự bạn nó được gấp lại. Bạn có thể dễ dàng bỏ lỡ nó.
Vấn đề là gì?
Tôi muốn nhân rộng cách Vim gấp. Nhưng khi tôi tìm kiếm xung quanh, có vẻ như rất khó để làm điều đó trong Emacs. Vì vậy, tôi tự hỏi nếu có một cái gì đó trong emacs hoặc kiến trúc của nó gây khó khăn để sao chép này? Các giới hạn là gì?