Thêm văn bản vào lề trái


7

Có cách nào dễ dàng để thêm văn bản vào lề trái của tài liệu vim (ở bên trái của số dòng) không?

Tôi biết rằng có thể làm được vì các plugin như vim-chữ ký làm điều đó, nhưng tôi tò mò làm thế nào điều này được thực hiện, và cách dễ nhất để làm điều đó sẽ là gì.

Câu trả lời:


10

Tôi nghĩ những gì bạn đang đề cập đến được gọi là một dấu hiệu của vim.

Thêm một dấu hiệu dường như là một quá trình hai bước. Đầu tiên bạn xác định nó trông như thế nào, sau đó bạn đặt nó ở nơi bạn muốn.

Cú pháp cơ bản để xác định một dấu hiệu là:

:sign define {name} {argument}...

Đâu {argument}...là một loạt các đối số mà bạn có thể chọn:

  • icon= đường dẫn đầy đủ đến một biểu tượng
  • linehl= nhóm đánh dấu cho toàn bộ dòng mà bạn sẽ đặt dấu hiệu
  • text= văn bản để hiển thị nếu không có biểu tượng hoặc bạn chạy vim trong thiết bị đầu cuối
  • texthl= nhóm nổi bật cho text

Để đặt dấu hiệu của bạn, một khi bạn đã xác định nó:

:sign place {id} line={lnum} name={name} file={fname}
  • {id} là một số tùy ý sẽ cho phép bạn thao tác ký sau
  • {lnum}{fname}tương ứng là số dòng và tệp mà bạn muốn đặt dấu hiệu của mình
  • {name} là tên của dấu hiệu của bạn

Để liệt kê các dấu hiệu của bạn và xem các thuộc tính của chúng:

:sign list

Để xóa một dấu hiệu:

:sign unplace {id} file={fname}

Ví dụ sử dụng

:sign define mysign text=>> texthl=Search

... xác định dấu hiệu mysignsẽ hiển thị văn bản >>với các màu từ nhóm tô sáng Search.

Bây giờ, giả sử bạn đang chỉnh sửa tệp /tmp/foo, bạn có thể đặt dấu hiệu của mình trên dòng thứ 10 với:

:sign place 9999 line=10 name=mysign file=/tmp/foo

Ở đây id 9999 đã được chọn.

Cuối cùng, để xóa dấu hiệu bạn vừa đặt:

:sign unplace 9999 file=/tmp/foo

Có nhiều cách khác để xác định, đặt và bỏ dấu hiệu.
Để biết thêm thông tin, xem:

:help sign-commands
:help :sign-define
:help :sign-undefine
:help :sign-list
:help :sign-place
:help :sign-unplace
:help :sign-place-list
:help :sign-jump

1
Đây chính xác là những gì tôi đang tìm kiếm :) ... Ban đầu tôi muốn biết vì tò mò và cũng vì tôi sử dụng chữ ký vim và gitgutter cho vim nhưng cả hai đều sử dụng cột ký hiệu. Tôi muốn xem liệu tôi có thể thêm một cột ký hiệu bổ sung để tôi có thể sử dụng thông tin từ cả hai plugin cùng một lúc hay không, nhưng có vẻ như điều này là không thể. Tôi đã thấy rằng chữ ký vim có một cờ bạn có thể đặt giúp với điều đó. Xem vấn đề tôi đã mở ở đây cũng có giải pháp của tôi và liên kết đến cam kết tôi đã thực hiện trên vimrc của mình để sử dụng nó.
Steven Hall
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.