Mac 터미널 / iTerm에서 vim에 대한 부드러운 스크롤?


13

Mac OSX (Lion)의 터미널에서 부드러운 스크롤 (마우스 스크롤 휠 또는 맥북 터치 패드 사용)이 가능합니까? 또한, vim 내에서 이것을 할 수 있습니까?

부드러운 스크롤은 코드를 읽는 데 도움이되며 연속 픽셀 스크롤과 달리 개별 행으로 스크롤 할 수있을 때 좋아하지 않습니다.

감사


터미널 세션 ( code.google.com/p/macvim , macvim.org/OSX ) 에서 Vim 애플리케이션을 사용하는 대신 Vim 애플리케이션을 사용하면 더 나은 환경을 경험할 수 있습니다 . 터미널 내에서 사용해야하는 이유가 있습니까?
Chris 페이지

3
MacVim은 부드러운 스크롤 기능도 제공하지 않습니다.
romainl

안녕하세요 @romainl. 버퍼 크기 (윈도우 크기)가 실제로 큰 경우 (즉 전체 파일의 크기) vim이 어떻게 작동하는지 궁금합니다. 이것을 테스트해야합니다. 그런 다음 부드러운 스크롤 GTK (또는 QT) 위젯 안에 vim 버퍼를 넣고 위젯 내부의 vim 버퍼 전체를 부드럽게 스크롤 할 수 있습니다. 이것은 현대 편집자와 마찬가지로 커서를 쉽게 숨길 수 있다는 추가 이점이 있습니다. 사용자가 커서를 움직이면 위젯은 (동일한 API gVim을 사용하여) 스크롤 위치를 알 수 있습니다.
trusktr

(계속) vim의 전체 파일 길이 출력을 새 위젯으로 복제하고 위젯을 적절한 위치로 부드럽게 스크롤하여 창 분할을 수행 할 수도 있습니다. 이것은 모두 간단한 산술과 멋진 위젯 툴킷에 대한 좋은 지식이 필요합니다. 창 분할 (수평 및 수직)과 스크롤 및 위젯 크기 조정은 다음과 같습니다. 나머지는 수행해야 할 케이크 조각입니다 (메뉴, 탭, gVim 및 qVim이 이미 수행 한 작업).
trusktr

(계속) vim의 성능도 크게 향상시킬 수 있습니다. 콘솔 vim 또는 g / qvim 창 (현재)을 스크롤 할 때마다 vim은 화면의 거의 모든 문자를 다시 작성해야합니다. vim 버퍼가 전체 길이이고 스크롤이 부드러운 스크롤 위젯에 의해 독립적으로 처리 된 경우 vim은 커서를 새로운 행으로 또는 더 나은 단일 행으로 이동할 때마다 한 번에 한 행의 문자 만 업데이트하면됩니다. 한 문자 앞으로 또는 뒤로 이동할 때 문자). 이것은 vim에게 엄청난 성능 이점이 될 것입니다!
trusktr

답변:


5

iterm2를 사용하고 있으며 터미널에서 vim 7.3을 사용하여 다음 옵션을 사용하여 매우 훌륭한 기능을 찾고 있습니다.

set mouse=niv #or set mouse=a
set clipboard=unnamed

편집 : set mouse = a 또한 다른 제안으로 표시된대로 사용하는 것이 좋습니다.

이 작업은 텍스트를 선택하는 동안 일반 모드에서 시각적 모드로 또는 삽입 모드에서 ((삽입) VISUAL) 모드로 자동 전환됩니다. 또한 줄 번호 또는 상대 줄 번호가 있으면 복사하지 않을 번호를 복사한다는 점에서 이러한 모드를 전혀 설정하지 않는 것보다 편리한 이점이 있습니다. 이 방법으로 마우스 사용 비주얼 모드로 전환하면 기본 터미널 선택 (억제됨)이 아닌 비주얼 모드 선택을 제어하기 위해 행 번호를 복사하지 않습니다. 스크롤은 선택을 시작한 곳부터 화면 맨 아래까지 모든 항목을 선택한다는 점을 염두에두고 전체적으로 잘 작동합니다. vim에서 ctrl + c / ctrl + v는 잊어라-vim yankypasta 명령 (y, yy, p,

http://vim.wikia.com/wiki/Mac_OS_X_clipboard_sharing#Comments

다시 말하지만, iterm2-osx의 내장 터미널은 휴지통입니다. 나는 이것이 단순히 vim이 작동하는 방식에 만족하기 때문에 줄 단위 스크롤로 쇠고기를 보지 못하지만 다른 사람들이 비디오 게임을하는 것을 볼 수없는 이유와 비슷한 이유로 멀미 또는 형광등과 CRT 모니터가 편두통 점으로 사람들의 머리를 깜빡 거리는 이유. 두뇌의 재생 빈도를 조정 해보십시오. 사원을 세게 눌렀을 때 손잡이를 느낄 수 있습니다.


0

나는 당신에 동의하지 않지만 여기에 당신이 원하는 것을 더하는 Terminal.app 플러그인 이 있습니다.

추가해야 할 수도 있습니다

set mouse=a

.vimrc에. 자세한 내용 :help mouse은 참조하십시오 .


불행히도 플러그인에는 SIMBL이 필요합니다. SIMBL은 Lion
Eddy

나는 라이온이 없기 때문에 몰랐습니다. MouseTerm은 내가 들어 본 Terminal.app에 마우스 스크롤을 추가하는 유일한 방법입니다. 일부 사람들은 Lion에서 SIMBL을 사용하는 데 제한적으로 성공 했다고보고 한 것 같습니다. 또한 iTerm2가 "마우스보고"및 스크롤을 제공하지만 줄 단위로 스크롤한다는 것을 알았습니다. 보조 노트 I 거의 스크롤 (위 / 아래 / J / K) 이상으로 : 내가 발견 /, ?, fF, tT<C-f>/ <C-b>훨씬 더 유용합니다.
romainl

이것들은 마우스 휠 스크롤을 작동 시키지만 주요 문제를 해결하지는 않습니다.
Chris 페이지

이 유형의 스크롤 (한 줄씩)은 Vim에서 하드 코딩됩니다. 고맙게도 그 길은 없습니다. 정말로 필요한 경우 vim-dev 에 대한 신중한 말로 주장 하거나 패치를 제공해야합니다.
romainl

부드러운 스크롤을 원하는 이유는 개별적으로 줄을 스크롤 할 때 내 자리를 잃는 경향이 있기 때문입니다. 이것은 설명하기 어렵다. 어쩌면 그것은 모든 사람에게 영향을 미치지는 않지만 나에게도 영향을 미칩니다
Eddy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.