가로 스크롤을 비활성화하는 방법
가로 스크롤을 비활성화하는 솔루션을 작성 했지만 ( @ ЯрославРахматуллин의 제안에서 riffing하여 ), 나는 당신이 그것을 좋아할 것이라고 생각하지 않습니다 :
augroup NoScrollPlease
autocmd!
autocmd CursorMoved * norm!99zH
augroup END
이렇게하면 다시 뒤로 스크롤하는 매우 정확한 방법으로 오른쪽으로 스크롤하는 것을 방지 할 수 있습니다. *
* 당신이 얼마나 오른쪽으로 스크롤했는지 또는 얼마나 오래 줄을 알지 못하기 때문에 임의의 "원거리"화면 너비를 99 반으로 스크롤하고 있습니다. 또한 "뒤로"왼쪽으로 스크롤하기 전에 실제로 오른쪽으로 스크롤했는지 여부를 확인하지 않아도됩니다. 실제로이 솔루션을 사용하려는 경우 getcurpos()
, 'sidescroll'
및 의 값을 비교하여 문제를 해결할 수 있습니다 'columns'
.
왜 그렇게하고 싶지 않을까요
이것을 사용하지 않는 이유는 스크롤 문제의 근본 원인이 또 다른 문제이기 때문입니다. Vim은 커서를 "화면 외부"로 이동시키지 않습니다. 따라서 스크롤 후 커서가 화면에서 벗어나도록 왼쪽으로 스크롤하면 Vim은 커서와 함께 커서를 가져 와서 왼쪽으로 이동합니다.
그러나 커서가 화면에 있는지 여부에 사용되는 계산은 원래 문제를 스크롤할지 여부를 결정하는 데 사용하는 계산과 동일하기 때문에 순 효과는이 "솔루션"을 사용하여 이동하려고하면 일반적으로 옆으로 스크롤되는 상황에서 오른쪽으로 커서를 이동하면 커서가 전혀 움직이지 않습니다. **
** 현재 위치와 움직임에 따라 약간 더 정확하게하기 위해 커서가 오른쪽으로 움직일 수 있습니다. 스크롤이 정상적으로 발생하는 위치를 지나치지 않습니다.
다른 옵션?
계획된 해결 방법이 사라지지 않을까 걱정됩니다. 당신이 원하는 경우 가능한 일반적인 문제에 대한 해결책을, 빔 소스 코드에서 구현해야 할 것입니다.
마찬가지로 당신이 이미 언급 한 나는 당신의 지프에 표시된 문제의 특정 인스턴스에 대한 해결을위한 가장 좋은 건 사용을 중지하기 위해 플러그인 작성자 청원하는 것입니다 두려워하므로이 곧 도착하시면 않을 수 있습니다 conceal
완전히 대신 버퍼에서 숨겨진 텍스트를 완전히 제거하십시오.
unconcealed 출력과의 언급을 기반 vim-plugin-AnsiEsc
으로 문서 이 있습니다 뭔가 그들을 구현하는 것이 가능하다고 할 수 있지만, 어떻게 플러그인 기능에 대한 지식없이 확실히 말할 어렵다.
:set wrap