Vimium


Предыдущая | Следующая
Vimium
Vimium при большом числе ссылок.png
Подсветка Vimium большого числа ссылок на странице
Разработчик Phil Crosby, Ilya Sukhar
Написана на CoffeeScript
Последняя версия 1.64.3 (27 февраля 2018)
Лицензия MIT License
Сайт vimium.github.io

Vimium — расширение для браузеров на базе Chromium, существенно расширяющее возможности управления браузером клавиатурой. Управляющие команды и комбинации подобны командам популярного у разработчиков текстового редактора Vim.

Расширение распространяется с открытым исходным кодом. Особенностью является то, что расширение не изменяет внешний вид браузера, а лишь дополняет возможности, например, навигации по странице и между вкладками.

Предназначение[править | править код]

Компьютерная мышь, будучи неотъемлемой частью большинства современных персональных компьютеров, активно используется в браузерах. В то же время, её использование заставляет пользователя часто убирать правую (обычно) руку от клавиатуры, чтобы выполнить любое действие с помощью указателя. Учитывая, что на самой клавиатуре на правую руку приходится гораздо больше клавиш, чем для левой, это может вызывать неудобство пользователей[1][2].

Подобная проблема присуща и многим другим видам ПО, в результате чего широкое развитие получили клавиатурные комбинации. Имеются также программы, основное управление которых изначально ориентировано именно на клавиатуру. Одной из таких программ стал редактор Vim.

Ставший популярным и привычным для многих стиль Vim появился во многих программах[3], не связанных напрямую с редактированием текста:

Vimium позволяет встроить в привычный браузер аналогичный функционал. Поддерживаются все браузеры, совместимые с Chromium, такие как: Google Chrome, Яндекс.Браузер и Opera (начиная с 12-ой версии).

Возможности[править | править код]

Как и Vim, расширение работает в двух режимах: или в режиме команд, или в режиме ввода. В первом все нажимаемые на клавиатуре клавиши воспринимаются как команды для расширения. Во втором режиме нажатиями клавиш, например, можно печатать текст на странице. Для перехода в режим команд необходимо нажать кнопку Esc, а чтобы оказаться в режиме ввода можно нажать i. Также режим ввода в некоторых случаях активируется автоматически, например, при переходе между текстовыми полями ввода.

В режиме работы со ссылками каждая из них получает индивидуальный идентификатор. Это касается и изображений-ссылок

В расширении реализована удобная система работы со ссылками и другими элементами на странице. Для каждого элемента расширение создаёт временную комбинацию из одной или нескольких клавиш, которые становятся виды после нажатия на клавишу f. После набора одной из таких комбинаций соответствующий элемент будет активирован, как если бы на него нажали указателем мыши. Теоретически, перемещаться между элементами можно и в других браузерах, где для этого можно использовать клавишу Tab ↹. В последнем случае, однако, мгновенный переход к произвольному элементу невозможен, так как может потребоваться многократное нажатие Tab ↹, а также порядок перехода между элементами может отличаться от того, который ожидает увидеть пользователь.

Как и любой Vim-подобный инструмент, расширение имеет целый ряд настроек. Например, возможно настроить:

Команды[править | править код]

Как и в Vim’е, расширение различает команды, которые набраны в разном регистре.

Список основных команд[4]:

Команда Описание
j прокрутка страницы вниз
k прокрутка страницы вверх
h прокрутка страницы влево
l прокрутка страницы вправо
d прокрутка страницы на половину экрана вниз (больше, чем при нажатии j)
u прокрутка страницы на половину экрана вверх (больше, чем при нажатии k)
gg (двойное нажатие g) мгновенный переход в самый верх страницы
G переход в самый низ страницы
f Подсветка всех элементов на странице. Выбранные ссылки, при активации, будут открыты в текущей вкладке
F Подсветка всех элементов на странице. Выбранные ссылки будут открыты в новой вкладке
t создание новой вкладки
x закрытие текущей вкладки
X открыть только что закрытую вкладку
r перезагрузка страницы
yy (двойное нажатие y) копировать текущий URL страницы в буфер обмена
yf копировать URL выбранного объекта в буфер обмена]
gs показать исходный код страницы
gi помещает курсор в первое текстовое поле ввода на странице
p открыть в текущей вкладке URL из буфера обмена
P открыть в новой вкладке URL из буфера обмена
T всплывающее окно с поиском по открытым вкладкам