Mevcut sütunu vim'deki durum çubuğunda gösterme?


187

Geçerli sütunu, diğer birçok metin düzenleyicide olduğu gibi durum çubuğunda göstermek istiyorum. Örneğin, sütun 80 veya üzeri olup olmadığını bilmek güzel.

Mevcut sütunu durum çubuğunda nasıl gösterebilirim?


Geçerli imleç sütununu göstermek istiyorsanız, şunu yazın: echo col ('.').
SibiCoder

Yanıtlar:


218

'Cetvel' seçeneğini ayarlamak aradığınızı ise deneyin. Bilgisayarımın sağ alt köşesinde, imlecin bulunduğu satır ve sütunu gösteriyor.

:set ruler

YORUMLARINIZI EDIT :

Vim (komut :help ruler) ' un yardımından :

Görüntülenen karakter sayısı, metindeki bayt sayısından farklıysa (örneğin, bir SEKME veya çok baytlık bir karakter için), hem metin sütunu (bayt sayısı) hem de ekran sütunu bir çizgi ile ayrılmış olarak gösterilir.

Gibi rulerformatseçeneği ile değiştirmeyi deneyebilirsiniz:set rulerformat=%l,%v


Evet, bir nevi Ama bu garip bir değer gösteriyor, örneğin 23,62-6823 satır gibi görünüyordu. 62-68Sütun için nasıl yorum yapmalıyım ?
Jonas

7
62 sekmeleri tek karakter olarak sayıyor, 68'i genişletilmiş sekmeleri sayıyor
RedGrittyBrick

1
': Help cetvel' komutundan: "Görüntülenen karakter sayısı, metindeki bayt sayısından farklıysa (örneğin, bir SEKME veya çok baytlık bir karakter için), hem metin sütunu (bayt numarası) hem de ekran "Bir çizgi ile ayrılmış sütun gösterilir." 'Rulerformat' seçeneğiyle değiştirmeyi deneyebilirsiniz, 'gibi': set rulerformat =% l,% v '
Birei

rulerVim'deki bölünmüş pencerelerle çalışmaz.
Mihai

@Jonas RedGrittyBrick'in dediği gibi sadece sekmeler değil, aynı zamanda byte karakterleri. Bu, tek karakterli bir glifin çok baytlı bir kod noktasına sahip olduğu UTF-8 dosyalarında çok belirgindir. Örneğin, Latin dili (üzerinde tilde olan n, belirgin EN-yea) tek karakterli bir gliftir ancak kod noktasını (\ xC3B1) göstermek için iki bayt alır ve üçte biri (1/3) tek karakterli gliftir üç baytlık kod noktasıyla (\ xE28593).
Luv2 kodu

27

:help statuslineMevcut birçok seçenek için bakınız .

Bunu ~/.vimrcbir sürü diğer direktif arasında tutuyorum:

set statusline+=col:\ %c,

hangi çıktılar

col: 64

Durumumda

Ben yok set ruler.


1
Bu benim için çalışmıyor. Muhtemelen daha fazla ayara ihtiyacım var.
Jonas

3
Jonas, durum çizgisini her zaman görüntülemek için set laststatus=2içinde kullanmak zorunda kalabilirsiniz .vimrc. (0 -> hiçbir zaman durum satırını gösterme, 1 -> sadece en az iki pencere varsa, 2 -> her zaman durum satırını göster).
pabuisson

Bundan önce ve bundan önceki durum satırında yer açmak için aşağıdakileri kullandım: set statusline + = \ col: \% c,
David Baucum

18

Bunu yapmanın bir başka yolu, imlecin geçerli konumunu beş şekilde basan 'g Ctrl-G' i kullanmaktır: Sütun, Çizgi, Kelime, Karakter ve Bayt. ( http://vimdoc.sourceforge.net/htmldoc/editing.html#g_CTRL-G adresinden )


Bu çözüm, Column ve VisibleColumn'u farklılaştıran düzgün bir şeye sahiptir. Yazdırılamayan karakterler 2 sütun halinde gösterilir, ancak bir olarak sayılmalıdır. Olmayan yazdırılabilir karakterleri ise çıkış şuna benzer: RealColumn-VisibleColumn, Line, Word, Character and Byte.
mxlian

17

Veya 'cetvel' ayarını , performans kazancını bırakın ve mevcut sütunu görmek istediğinizde CTRL-G tuşlarına basın .


3
Ctrl-Herhangi birşeye vurmak bir performans kazancı gibi gelmiyor. Karakterleri yazıyoruz. Hiçbir insan, bu tür bir performans farkını görmek için yeterince hızlı uçan parmaklara ve gözlere sahip değildir.
macetw

10

Set cetvelini kullanarak değer veremem, çünkü durum çizgisi seçenekleriyle uyumlu olmadığına inanıyorum;

set statusline+=%F

set ruler

Ardından sütun numarasını DEĞİL, sadece durum çubuğundaki tam dosya yolunu görüntülemez. Ancak, .vimrc'nize aşağıdakileri koyarsanız

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

Her şeyi, yani

[Filepath / dosyaadı] [linenumber]: [sütun numarası]


2

Bu cevabı arayan ve VIm ile çalışmaya alışkın olmayan diğer insanlar için, şahsen bulduğum en basit cevap, bu satırı ana dizininizdeki .vimrc dosyanızın sonuna eklemektir:

set ruler

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.