Làm cách nào để chuyển đổi một loạt các dòng thành một danh sách HTML đang hoạt động?


11

Ngay bây giờ, đây là một nhiệm vụ tôi thấy dễ dàng hơn nhiều trong một số thứ như gedit, vì tôi chỉ có thể thay thế "\ n" (ngắt dòng) bằng "</ li> \ n <li>" và sau đó tôi có một danh sách.

Một trong số ít những thứ tôi dường như không thể có trong Emacs một cách nhanh chóng, nhưng một số thứ tôi sử dụng rất nhiều.

Câu trả lời:


7

Cách trực tiếp nhất để làm điều này là

  • Đánh dấu khu vực của các dòng văn bản để trở thành một danh sách
  • Nhấn M-%( query-replace)
  • Loại C-q C-j RET </li> C-q C-j <li> RET( C-q C-jchèn một ký tự dòng mới được trích dẫn)
  • Nhấn !để thay thế tất cả các lần xuất hiện

tôi đã phải thay đổi xung quanh các thẻ mở và đóng, nhưng điều này hoạt động, và tôi nghĩ rằng tôi có thể làm cho mình nhớ Cq Cj.
mattl

10

Ngoài ra, để thay thế truy vấn, bạn có thể đi với nhiều con trỏ :

nhập mô tả hình ảnh ở đây

Cũng xem xét sử dụng một cái gì đó như thế này:

(defun wrap-html-tag (tagName)
  "Add a tag to beginning and ending of current word or text selection."
  (interactive "sEnter tag name: ")
  (let (p1 p2 inputText)
    (if (use-region-p)
        (progn
          (setq p1 (region-beginning) )
          (setq p2 (region-end) )
          )
      (let ((bds (bounds-of-thing-at-point 'symbol)))
        (setq p1 (car bds) )
        (setq p2 (cdr bds) ) ) )

    (goto-char p2)
    (insert "</" tagName ">")
    (goto-char p1)
    (insert "<" tagName ">")
    ))

nguồn


Nếu bạn thấy mình thực hiện loại chỉnh sửa này một cách thường xuyên thì tôi khuyên bạn nên sử dụng gói nhiều con trỏ. Đôi khi tôi tự hỏi làm thế nào tôi có được cùng mà không có nó.
nispio

@ welldan97 Bạn đã tạo GIF đó như thế nào? Chỉ cần tò mò
lunaryorn

@lunaryorn, thông qua LICEcap cho OS X. Tôi đã nghe Quicktime có thể tốt hơn, mặc dù tôi chưa thử.
welldan97

8

Bạn có thể sử dụng query-replace-regexp( C-M-%). Thay thế ^\(.*\)$bằng <li>\1</li>.


1

Để có giải pháp đầy đủ tính năng, hãy chuyển đổi văn bản của bạn thành danh sách chế độ tổ chức và xuất sang HTML . Dòng tiền tố với '*', hoạt động org-modevà chạy org-html-export-to-html.


"Bạn thực sự không nên tạo HTML bằng các thao tác văn bản" - Tôi có thể nghĩ ra nhiều lý do khiến người ta có thể muốn làm điều đó (bạn không thể luôn kiểm soát đầu vào của mình).
shosti

Tiền tố các dòng đầu vào với '*' không yêu cầu quá nhiều, phải không?
artagnon

Tôi tin rằng xuất chế độ org là tuyệt vời cho một giải pháp tự động, nhưng tôi không nghĩ việc khuyến khích thao tác văn bản cơ bản cho thế hệ html là hữu ích.
2014

Nếu bạn muốn thêm câu đó dưới dạng câu trả lời (tiền tố tất cả các dòng có '*', kích hoạt org-mode, sau đó xuất sang HTML) thì không sao, nhưng tôi không nghĩ việc mắng mọi người là muốn "nhanh và bẩn" Tạo HTML.
shosti

Đủ công bằng; Tôi đã điều chỉnh lại nó.
artagnon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.