Привет, коллеги! Мышь устройство полезное. Сейчас разнообразие очень велико. Есть тачпады с двумя кнопками, есть макбуки с одной кнопкой, есть настольные мыши с двумя/тремя кнопками и колесиком, которое тоже можно нажимать как кнопку. Есть графические планшеты, которые работают и как мышь, позволяя позиционировать курсор.
Кстати, покупая дочке такой, я волновался за драйвера — но прибор заработал под Ubuntu, в том числе и как мышь, сразу.
Мы будем исходить из простой ситуации тачпада или классической мыши с двумя кнопками.
Сначала немного прикладной лингвистики. По-английски мышь называется mouse, как и животное, но вот во множественном числе животные mice, а вот устройства — mouses. В итальянском живая мышь il topo, а компьютерная il mouse (мн.ч. i mouse). В иврите мышь одинаково называется: акбар. Немцы, как всегда, прямолинейны: computermaus.
Кроме позиционирующего устройства, в честь мыши названы мышцы и мускулы (mus - это мышь). Латынь и греческий в игре, а через них... Иврит, впрочем, отдельно, там у мышцы тот же корень, что у силы.
Мышь в Вим по умолчанию отключена. В принципе, если хорошо владеть им, она и не понадобится... но бывает полезна. Ее можно включить (лучше в .vimrc), задав переменную mouse:
:set mouse=a
Значениями могут служить: n, v, i, c, h, a, r или любые их комбинации. Означают они, соответственно: нормальный режим, режим выделения, режим вставки, режим командной строки, всё перечисленное при редактировании файла справки, все эти режимы (то есть a равно nvich) и использование мыши в случаях, когда Вим задает вопрос.
Некоторые не любят, например, мышь в нормальном режиме: там мы даем команды с клавиатуры и случайно двинуть курсор может быть опасно. Другим мешает мышь в режиме вставки: там мы печатаем, а мышь ни к чему. Дело вкуса... но Вим дает вам полную свободу настроить мышь так, как вам по душе.
Действия с левой кнопкой вполне интуитивны: позиционирование курсора, выделение текста, переключение окон и вкладок, изменение размера окон.
В общем-то, это главное. Остальное уже тонкости.
Мышью можно выделять текст, так как это делает команда v: в режиме выделения. Можно заменить на режим классического выделения, добавив mouse в список значений selectmode. Может быть удобно: выделил текст мышью, начал печатать — текст и исчез, заменившись новым.
Щелчки мыши с нажатой клавишей control или shift передаются терминалу. Если мышь выключена (в данном режиме), то любые щелчки передаются ему. Это очень полезно для выделения текста "как в терминале", для копирования в системный буфер. Или для вывода системного popup-меню.
Двойной щелчок выделяет слово. А если щелкнуто по символу с парой (скобки, например), то выделится все до парного символа. Удобно!
Средняя кнопка, если есть, вставляет текст из безымянного регистра.
<C-LeftMouse> работает как <C-]>, то есть переходит по тэгу. Очень полезно в файлах справки или если вы используете тэги. Можно нажать g и потом левую клавишу, обойдясь без Control.
Действие правой кнопки определяется переменной mousemodel. Если там extend (по умолчанию в unix), то правая кнопка раздвигает выделенный текст. Если же там popup, то правая кнопка выводит всплывающее меню, которое надо предварительно создать (PopUp). У меня на Убунту не выводит, кстати. Это значение по умолчанию в DOS/Windows. Еще есть popup_setpos, когда не только меню выводится, но и курсор перемещается в точку клика.
Все события, связанные с мышью, отслеживаются и могут быть перехвачены автокомандами. Учитывая, что автокоманды могут зависеть от типа файла, открываются широкие возможности для настройки и перенастройки поведения мыши! Например, может иметь смысл переопределить правую клавишу, скажем, для вывода вариантов правописания... Об этом, пожалуй, уже в другой раз!
Удачи, коллеги!