Câu hỏi Làm thế nào để hiển thị cột hiện tại trong thanh trạng thái trong vim?


Tôi muốn hiển thị cột hiện tại trên thanh trạng thái, như thường thấy ở nhiều trình soạn thảo văn bản khác. Ví dụ. nó là tốt để biết nếu bạn đang ở xung quanh cột 80 hoặc cao hơn.

Làm thế nào để hiển thị cột hiện tại trên thanh trạng thái?


154
2017-12-06 20:35


gốc


Nếu bạn muốn hiển thị cột hiện tại của con trỏ, sau đó gõ: echo col ('.'). - SibiCoder


Các câu trả lời:


Thử nếu tùy chọn 'thước kẻ' là thứ bạn đang tìm kiếm. Trên máy tính của tôi ở dưới cùng bên phải cho thấy dòng và cột nơi tôi có con trỏ.

:set ruler

CHỈNH SỬA NHẬN XÉT:

Từ sự giúp đỡ của vim (lệnh :help ruler):

Nếu số lượng ký tự được hiển thị khác với số lượng   byte trong văn bản (ví dụ: đối với TAB hoặc ký tự nhiều byte), cả hai   cột văn bản (số byte) và cột màn hình được hiển thị,   được phân tách bằng dấu gạch ngang.

Bạn có thể thử thay đổi nó bằng rulerformat tùy chọn, như :set rulerformat=%l,%v


184
2017-12-06 20:43



Đúng loại của. Nhưng điều đó cho thấy một giá trị kỳ lạ, ví dụ: 23,62-68 23 dường như là dòng. Tôi nên diễn giải như thế nào 62-68 cho cột? - Jonas
62 đang đếm các tab dưới dạng một ký tự, 68 đang đếm các tab được mở rộng - RedGrittyBrick
Từ lệnh ': help ruler': "Nếu số ký tự được hiển thị khác với số byte trong văn bản (ví dụ, đối với TAB hoặc ký tự nhiều byte), cả cột văn bản (số byte) và màn hình cột được hiển thị, được phân cách bằng dấu gạch ngang. " Bạn có thể thử thay đổi nó bằng tùy chọn 'rulerformat', như ': set rulerformat =% l,% v' - Birei
ruler không hoạt động với các cửa sổ chia nhỏ trong Vim. - Mihai
@ Jonas Không chỉ các tab, như RedGrittyBrick nói, mà còn các ký tự so với byte. Điều này rất rõ ràng trong các tệp UTF-8, trong đó một ký tự đơn đơn có một điểm mã đa byte. Ví dụ, eñe Latin (n với dấu ngã trên nó, phát âm EN-yea) là một ký tự đơn glyph nhưng phải mất hai byte để đại diện cho điểm mã (\ xC3B1), và một phần ba (1/3) là một ký tự đơn glyph với một điểm mã ba byte (\ xE28593). - Luv2code


Xem :help statusline cho nhiều tùy chọn có sẵn.

Tôi có cái này trong ~/.vimrc ở giữa một loạt các chỉ thị khác:

set statusline+=col:\ %c,

đầu ra nào

col: 64

trong trạng thái của tôi.

Tôi không có set ruler.


26
2017-12-06 21:28



Điều này không hiệu quả với tôi. Tôi có thể cần một số cài đặt khác. - Jonas
Jonas, Bạn có thể phải sử dụng set laststatus=2 trong của bạn .vimrc để luôn hiển thị dòng trạng thái. (0 -> không bao giờ hiển thị dòng trạng thái, 1 -> chỉ khi có ít nhất hai cửa sổ, 2 -> luôn hiển thị dòng trạng thái). - pabuisson
Tôi đã sử dụng phần sau đây để cung cấp khoảng trống trước đó và các công cụ trước đó trên dòng trạng thái: set statusline + = \ col: \% c, - David Baucum


Hoặc, bỏ chọn 'thước kẻ', tăng hiệu suất và nhấn CTRL-G khi bạn muốn xem cột hiện tại.


18
2017-11-09 20:35



Nhấn Ctrl-Bất kỳ điều gì không có vẻ giống như hiệu suất đạt được. Chúng tôi đang nhập ký tự. Không có con người nào có ngón tay và đôi mắt bay đủ nhanh để thấy sự khác biệt về hiệu suất này. - macetw


Một cách khác để thực hiện điều này là thực hiện 'g Ctrl-G', sẽ in vị trí hiện tại của con trỏ theo năm cách: Cột, Dòng, Từ, Ký tự và Byte. (từ http://vimdoc.sourceforge.net/htmldoc/editing.html#g_CTRL-G)


17
2018-03-05 10:51



Giải pháp này có một cái gì đó gọn gàng, phân biệt các cột và VisibleColumn. Các ký tự không thể in được hiển thị 2 cột, nhưng phải được tính là một. Nếu các ký tự không in được, đầu ra sẽ trông giống như sau: RealColumn-VisibleColumn, Line, Word, Character and Byte. - mxlian


Tôi sẽ khấu hao bằng cách sử dụng thước kẻ được thiết lập bởi vì tôi tin rằng nó không tương thích với các tùy chọn trạng thái, ví dụ: nếu bạn đặt dòng trạng thái để hiển thị toàn bộ filepath kết hợp với thước đo được thiết lập

set statusline+=%F

set ruler

Sau đó, nó không hiển thị số cột nhưng chỉ toàn bộ filepath trong thanh trạng thái. Tuy nhiên nếu bạn đặt những điều sau đây trong .vimrc của bạn

set statusline+=%F\ %l\:%c

Nó sẽ hiển thị mọi thứ chính xác, cụ thể là

[Filepath / filename] [linenumber]: [số cột]


9
2018-01-17 13:01





Đối với những người khác đang tìm kiếm câu trả lời này và không được sử dụng để làm việc với VIm, câu trả lời đơn giản nhất tôi tìm thấy là thêm dòng này vào cuối tệp .vimrc của bạn trong thư mục chính của bạn:

set ruler


1
2017-08-21 04:46