vim의 상태 표시 줄에 현재 열을 표시하는 방법?


166

다른 많은 텍스트 편집기에서 보듯이 현재 열을 상태 표시 줄에 표시하고 싶습니다. 예 : 당신이 열 80 이상에 있는지 아는 것은 좋은 일입니다.

상태 표시 줄에 현재 열을 표시하는 방법?


커서의 현재 열을 표시하려면 다음을 입력하십시오. echo col ( '.').
SibiCoder

답변:


199

'통치자'옵션을 설정하는 것이 당신이 찾고있는 것이라면 시도하십시오. 오른쪽 하단의 내 컴퓨터에는 커서가있는 행과 열이 표시됩니다.

:set ruler

의견을 수정하십시오. :

vim (명령 :help ruler ) :

표시되는 문자의 수가 표시의 수와 다른 경우   텍스트의 바이트 (예 : TAB 또는 멀티 바이트 문자), 둘 다   텍스트 열 (바이트 수) 및 화면 열이 표시되며,   대시로 구분했다.

함께 변경해보십시오. rulerformat 옵션 :set rulerformat=%l,%v


예, 그렇습니다. 하지만 그것은 이상한 가치를 보여줍니다. 23,62-68 23 선이 된 것 같습니다. 어떻게 해석해야합니까? 62-68 칼럼?
Jonas

7
62는 탭을 한 문자로 계산하고, 68은 확장 탭 수를 계산합니다.
RedGrittyBrick

1
'help ruler'명령에서 : "표시된 문자 수가 텍스트의 바이트 수와 다른 경우 (예 : TAB 또는 멀티 바이트 문자의 경우) 텍스트 열 (바이트 수)과 화면 열이 대시로 구분되어 표시됩니다. " 'rulerformat = % l, % v'와 같이 'rulerformat'옵션을 사용하여 변경해보십시오.
Birei

ruler Vim의 분할 윈도우에서는 작동하지 않습니다.
Mihai

@Jonas RedGrittyBrick이 말했듯이 탭뿐만 아니라 문자 대 바이트까지도 마찬가지입니다. 이것은 한 문자 글자에 멀티 바이트 코드 포인트가있는 UTF-8 파일에서 매우 분명합니다. 예를 들어, 라틴어 e (n은 겹침 겹침, EN-yea로 발음 됨)는 단일 문자 글리프이지만 코드 포인트 (\ xC3B1)를 나타내는 데 2 ​​바이트를 사용하고 1/3은 단일 문자 글리프 3 바이트 코드 포인트 (\ xE28593).
Luv2code

26

만나다 :help statusline 사용할 수있는 많은 옵션이 있습니다.

나는 이것을 내 안에 가지고있다. ~/.vimrc 다른 지시어들 사이에

set statusline+=col:\ %c,

어느 출력

col: 64

내 statusline에.

나는 없다. set ruler.


1
이것은 나를 위해 작동하지 않습니다. 아마 더 많은 설정이 필요할 것입니다.
Jonas

3
조나스. set laststatus=2 너의 .vimrc 항상 상태 표시 줄을 표시합니다. (0- & gt; 상태 표시 줄을 표시하지 않음, 1 - & gt; 적어도 2 개의 창이있는 경우에만, 2 - & gt; 항상 상태 표시 줄을 표시).
pabuisson

나는 이것과 전에 statusline에 있던 것들을 제공하기 위해 다음을 사용했다 : set statusline + = \ col : \ % c,
David Baucum

17

또는 '통치자'의 설정을 해제하고 실적을 높이고 언론에 보도하십시오. CTRL-G 현재 열을보고 싶을 때.


2
Ctrl 키를 치면 성능이 좋아지지 않습니다. 문자를 입력하고 있습니다. 이러한 종류의 성능 차이를보기에 충분히 빨리 날 수있는 손가락과 눈을 가진 사람은 없습니다.
macetw

17

이를 수행하는 또 다른 방법은 'g Ctrl-G'를 사용하는 것인데, 커서의 현재 위치를 열, 행, 단어, 문자 및 바이트의 다섯 가지 방식으로 인쇄합니다. (에서 http://vimdoc.sourceforge.net/htmldoc/editing.html#g_CTRL-G )


이 솔루션에는 Column과 VisibleColumn을 구분하는 깔끔한 것이 있습니다. 인쇄 할 수없는 문자는 2 열로 표시되지만 1로 간주해야합니다. 인쇄 할 수없는 문자는 다음과 같습니다. RealColumn-VisibleColumn, Line, Word, Character and Byte.
mxlian

9

상태 줄 옵션과 호환되지 않는다고 생각하기 때문에 set ruler를 사용하여 감가 상각합니다. set ruler와 함께 전체 파일 경로를 표시하도록 statusline을 설정하면

set statusline+=%F

set ruler

그런 다음 열 번호를 표시하지 않고 상태 표시 줄에 전체 파일 경로 만 표시합니다. 그러나 .vimrc에 다음을 입력하면

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

모든 것을 올바르게 표시합니다.

[파일 경로 / 파일 이름] [줄 번호] : [열 번호]


2

이 답변을 찾고 다른 사람들이 VIm을 사용하는 데 익숙하지 않은 경우 개인적으로 찾은 가장 간단한 대답은이 줄을 홈 디렉터리의 .vimrc 파일 끝에 추가하는 것입니다.

set ruler

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.