Làm thế nào để đạt được số danh sách tự động trong vim?


11

Hợp đồng vv những thứ chính thức cần đánh số danh sách.

1. Some text

2. More text

 2.1. Sub-section text

Vân vân.

Điều quan trọng là loại bỏ việc đánh số lại thủ công khi chèn hoặc xóa một mục danh sách. Điều này có thể với vim? Danh sách thống nhất đánh số là rất khó để theo dõi bằng tay.

Một trong những mục tiêu liên quan với điều này là có kiểm soát sửa đổi phù hợp được thực hiện bởi một định dạng lưu trữ không bị che khuất, chẳng hạn như văn bản rõ ràng.


1
Nếu PDF có thể chấp nhận được, thì có thể sử dụng đánh dấu danh sách không đánh số để gắn thẻ các mục danh sách và asciidocsau đó có thể được sử dụng để chuyển đổi đánh dấu thành PDF với đánh số dòng. Nhưng tôi cũng muốn biết cách sử dụng vim để đánh số dòng tự động của các tệp chỉ có văn bản.
tự đại diện

1
Đó là một cái gì đó xử lý văn bản là khá tốt.
romainl

@Wildcard PDF thực sự có thể chấp nhận được, điều duy nhất là việc gắn thẻ ẩn danh ban đầu khiến việc tham khảo các mục được đánh số cụ thể trên tài liệu trở nên khó khăn. Tuy nhiên, phương pháp của bạn chắc chắn tốt hơn không có gì.
lkraav

Có thể chấp nhận sử dụng một số hình thức đánh dấu mà sau đó sẽ được chuyển đổi / không được chuyển đổi tự động bằng lệnh ex-mode không? ví dụ: các mục danh sách cấp cao nhất với - , các mục danh sách cấp thứ hai với -- , v.v ... Đây có vẻ là cách tiếp cận có khả năng nhất; xem câu hỏi gần đây của tôi về đánh số liên tiếp trong chế độ Ex để biết điểm bắt đầu.
tự đại diện

Vì các lựa chọn là khan hiếm, bất cứ điều gì đi.
lkraav

Câu trả lời:


1

Tôi có một plugin có thể (Một phần?) Giúp bạn: lazyList (Không đánh số danh sách tự động).

Trong ví dụ sau ( _là vị trí con trỏ) ...

1. Some text
2. More text   
 Sub-secti_on text
 Sub-section text   
 Sub-section text

... chỉ cần thực hiện lệnh :LazyList '2.%1%. 'để nhận:

1. Some text
2. More text   
 2.1. Sub-secti_on text
 2.2. Sub-section text   
 2.3. Sub-section text

Để loại bỏ các chỉ số, thực hiện cùng một lệnh.

Theo mặc định, các chỉ mục được thêm vào đoạn hiện tại (Cùng thụt lề hoặc khi được bao quanh bởi các dòng trống), nhưng bạn có thể thêm chúng vào một lựa chọn trực quan.

Một cách tốt để làm trong trường hợp của bạn:

  1. Thêm chỉ số
  2. Xóa các chỉ số trước khi thêm (các) phần tử mới.
  3. Thêm chỉ số sau khi thêm (các) phần tử mới.

Video này nên rõ ràng hơn.

Điều tệ hại với plugin là nó không tính đến lựa chọn trực quan với các dòng trống, tôi nên xem xét lại hành vi này.

PS English không phải là ngôn ngữ mẹ đẻ của tôi, vì vậy xin miễn cho những sai lầm.

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.