ví dụ: Tôi muốn thêm một dấu ngoặc kép vào cuối một loạt các dòng được đánh dấu. Hoặc tôi muốn xóa hai ký tự khỏi một loạt các dòng được đánh dấu. Có một lệnh cho điều này? Tôi biết có "M-x r t" để chèn một hình chữ nhật của văn bản, nhưng điều này chỉ hoạt động nếu tất cả mọi thứ được xếp thẳng đứng, mà thường không phải là trường hợp của các đầu của dòng.Làm cách nào để bạn thêm hoặc xóa văn bản vào cuối nhiều dòng cùng một lúc trong Emacs?
Trả lời
Bạn có thể
- tiết kiệm một macro bàn phím với C-x(C-e"C-fC-x), resp. C-x(C-eBackspaceBackspaceC-fC-x). Sau đó gọi vĩ mô với C-xe, e, e, e ...
- làm một sự thay thế regex với M-C-%. Thay thế
$
bằng"
để thêm dấu ngoặc kép, thay thế..$
mà không có gì để xóa hai ký tự cuối cùng .
Dưới đây là một cách trực quan hơn, xem kết quả trong mỗi dòng khi bạn nhập chúng vào một dòng.
Grab một bản sao gần đây của yasnippet từ http://github.com/capitaomorte/yasnippet và thêm vào bạn .emacs
(require 'yasnippet)
(defun yas/add-to-end-of-lines-snippet()
(interactive)
(when (region-active-p)
(let ((snippet (replace-regexp-in-string "$" "$1" (buffer-substring (region-beginning) (region-end)))))
(delete-region (region-beginning) (region-end))
(yas/expand-snippet snippet))))
Bây giờ chọn một khu vực và gõ M-x add-to-end-of-lines-snippet
.
M-xreplace-regexp
$
"
nên làm việc, nhưng tôi không chắc chắn nếu replace-regexp
khía cạnh dấu.
Bạn luôn có thể 'thu hẹp đến vùng' và hoạt động trên toàn bộ vùng đệm bị thu hẹp mà không có nguy cơ phá hủy các đường bên ngoài của hàm gốc cao (' C-x n n' và 'C-x n w' để hoàn nguyên thu hẹp). – Juancho
'replace-regexp' cũng có thể được sử dụng cho nhiệm vụ khác (xóa 2 ký tự cuối cùng). Thay thế "..$ "không có gì để đạt được điều này. – Juancho
- 1. Làm cách nào để thêm một dòng vào một Hộp văn bản nhiều dòng?
- 2. Trong Emacs làm cách nào để chỉnh sửa nhiều điểm cùng một lúc?
- 3. thêm văn bản vào cuối mỗi dòng
- 4. Làm thế nào để bạn chèn nhiều bản ghi vào một bảng cùng một lúc?
- 5. Làm cách nào để thêm văn bản biến vào dòng cuối cùng của tệp qua dòng lệnh?
- 6. Thêm nhiều phong cách cùng một lúc để SpannableString
- 7. Làm cách nào để thêm văn bản vào giữa dòng cho nhiều dòng trong Vim?
- 8. Làm cách nào để thụt lề nhiều dòng cùng một lúc trong Notepad ++?
- 9. cách xóa một vùng văn bản trong các emacs?
- 10. Mở nhiều tệp cùng một lúc trong Emacs
- 11. Tìm dòng cuối cùng trong một tệp văn bản
- 12. Thêm một dòng mới vào cuối JtextArea
- 13. Xóa hai ký tự cuối cùng khỏi mỗi dòng trong một tệp văn bản
- 14. Xóa bản ghi từ nhiều bảng cùng một lúc?
- 15. Xóa "\ n" cuối cùng khỏi văn bản
- 16. Cách sử dụng PowerShell để xóa không gian từ cuối dòng trong một tệp văn bản
- 17. Cách thêm văn bản ở cuối mỗi dòng trong Vim?
- 18. Xóa dòng trống cuối cùng
- 19. Làm cách nào để thêm dòng văn bản vào giữa tệp bằng bash?
- 20. Javascript (jQuery) xóa câu cuối cùng của văn bản dài
- 21. Làm cách nào để thêm dòng 1dp vào cuối ô xem văn bản của tôi (không phải bố cục bảng)
- 22. Làm thế nào để xóa nhiều tập tin cùng một lúc trong Bash trên Linux?
- 23. Xóa dòng văn bản khỏi nhiều tệp trong Linux
- 24. Thêm một dòng vào đầu tệp văn bản
- 25. Làm cách nào để xóa dòng hiện tại trong Emacs?
- 26. Cách liên tục cuộn đến cuối văn bản trong hộp văn bản nhiều dòng?
- 27. Xóa ký tự/dòng cuối cùng
- 28. Git: Làm thế nào để rebase nhiều nhánh (với cùng một commit cơ bản) cùng một lúc?
- 29. Bootstrap 3.0: Làm thế nào để có văn bản và đầu vào trên cùng một dòng?
- 30. Trong Emacs làm thế nào để xóa từ dòng hiện tại đến cuối tập tin?
Hoặc sau khi ghi macro, hãy thực hiện C-u n C-x e trong đó 'n' là số lần lặp lại mà anh ta muốn. – SlowLearner
Bạn không thiếu một "C-n" trong các macro ở đó để đi đến dòng kế tiếp để chuẩn bị cho việc thực hiện tiếp theo của vĩ mô? – deong
@deong: Bạn nói đúng, cảm ơn. Đã cập nhật. – choroba