Włącz mysz do przewijania tylko w Vimie w iTerm (MacOSX)

30

Chciałbym używać myszy w Vimie tylko do przewijania (aby nie włączać innych trybów Vima lub w inny sposób wchodzić w interakcje z Vimem). Używanie :set mouse=awydaje się operacją „wszystko albo nic”, czy można to zmienić? Alternatywnie, czy iTerm może przekazywać tylko zdarzenia przewijania i nigdy nie klikać / przeciągać zdarzeń?

Długie wyjaśnienie: Używam Vima w iTerm i nie używam myszy. Jednak przewijanie bezwładności za pomocą gładzika jest naprawdę fajnym i doskonałym sposobem na przeglądanie dużych plików. Mogę :set mouse=aprzewijać za pomocą gładzika i jest świetnie. Teraz, gdy kliknę, vim przejdzie w tryb wizualny, a iTerm nie skopiuje zaznaczonego tekstu. Chciałbym zachować zdolność iTerms do zaznaczania i kopiowania tekstu.

Pomyślałem o skonfigurowaniu Vima, aby kopiowanie w vimie było kopiowane w Mac OS X (używając pbcopy, i tak muszę to zrobić). To załatwi sprawę podczas edycji plików lokalnych, ale przez większość czasu jestem sshgdzieś i edytuję pliki zdalne.

Jonah Braun
źródło

Odpowiedzi:

44

Możesz użyć

:set mouse=nicr

Działa tylko z przewijaniem myszy, jak przetestowałem.

Armando Neto
źródło
3
Niezupełnie to, czego potrzebuję, ponieważ podczas gdy będzie się przewijać w vimie, iTerm nie pozwoli mi wybrać tekstu. Mam :set mouse=itak, że przewijanie działa w trybie wstawiania, a iTerm select w trybie normalnym. Wystarczająco blisko, więc zaznaczam odpowiedź. Dzięki za pomysł!
Jonah Braun
3
Dla mnie wygląda to na „ustaw mysz tak, by była milsza”.
Kazark,
6
@JonahBraun, iTerm kliknie myszką, :set mouse=nicrjeśli przytrzymasz opcję podczas dokonywania wyboru. Zobacz stackoverflow.com/questions/4608161/…
John Whitley
Gdzie piszesz :set mouse=nicr?
Naguib Ihab
18

Jeśli możesz set mouse=a, możesz użyć opcji -kliknij, aby dokonać wyboru iTerm. Nie jest idealny, ale jest to najlepsza opcja, jaką znalazłem.

Mike Morearty
źródło
3
to jest prawdziwa wykonalna odpowiedź.
Zen
1

Nie jestem pewien co do iTerm, ale można to osiągnąć dzięki Terminal.app.

  • Przewijanie w Terminal.app:

http://ayaz.wordpress.com/2010/10/19/using-mouse-inside-vim-on-terminal-app/ (zainstaluj SIMBL i MouseTerm)

  • Tylko przewijanie:

    1. Idź do terminalu;
    2. Pierwszeństwo;
    3. Ikona „Ustawienia”;
    4. Zakładka „Klawiatura”
    5. 'Przycisk myszy;
    6. Tam w obszarze „Wyślij zdarzenia myszy dla:” odznacz „Kliknięcie lewym przyciskiem”, „Kliknięcie środkowym”, „Kliknięcie prawym przyciskiem”.

Gotowy.

LiL
źródło
0

Możesz także ustawić opcje vim env z wiersza poleceń

Na przykład:

vim -c 'set mouse=a'

Alternatywnym aliasem vima, który robi to automatycznie, może być:

alias vimmy="vim -c 'set mouse=a'"
Dan Burkhardt
źródło
-1

Nawet lepiej niż zaakceptowana odpowiedź:

set mouse=a

Umożliwia to przewijanie, a następnie wyróżnianie daje wizualny blok.

ibash
źródło
2
Umożliwia to rzeczy inne niż przewijanie.
Kazark,
3
Co więcej, jest to już wspomniane w pytaniu.
Kazark