2012-10-24 1 views
3

정력에 가로 스크롤 위치를 결정하는? 윈도우가 아래로 네 개의 행을 스크롤에 예를 들어방법, <code>visible area</code></em><em>으로 표시 아래 정력 창에서

Y------------------------+ 
1 File contents   | 
|      | 
| +-X--------------+ | 
| |4|    | | 
| |5| Visible area | | 
| |6|    | | 
| +-+--------------+ | 
$ ^     | 
+----|-------------------+ 
    \ 
     line numbers 

, Y-X 상대적인 수직 위치는 4 개의이다. line("w0") - 1으로 0부터 시작하는 색인으로 사용할 수 있습니다.

나는 주어진 순간에 얼마나 많은 열이 오른쪽으로 스크롤되는지를 어떻게 결정합니까? virtcol(".") - wincol() 시도했지만 커서를 두 번 너비 문자 위에있는 경우 혼자 약간 떨어져 있습니다.

+0

무엇이 필요합니까? –

+0

가장 기본적인 예에서, 화면의 왼쪽이나 오른쪽에 숨겨진 데이터가 있음을 나타 내기 위해 상태 표시 줄에'Show columns 3 - 83 of 430'과 같은 것을 표시하려고한다고 가정하십시오. – antak

답변

0

숫자 열 너비를 갖고 싶으면 max([len(line('$')), &numberwidth])+1을 사용하십시오.

"가로 위치"는 무엇을 의미합니까? wincol()은 창에서 가로 위치입니다. col(".")은 줄 시작부터 바이트 오프셋이고, strchars(getline('.')[:(col('.')-1)])은 줄 시작부터 유니 코드 코드 지점 수이고, len(split(getline('.')[:(col('.')-1)], '.\@='))은 줄 시작부터의 문자 수입니다.

관련 문제