Vim. Клавиатура. Броузеры
2023-08-19
·
4 мин. для прочтения
Расширения для броузеров с поддержкой раскладки Vi.
Содержание
1 Режимы ввода
- Зачастую расширения работают в двух режимах: в режиме команд или в режиме ввода.
- В первом все нажимаемые на клавиатуре клавиши воспринимаются как команды для расширения.
- Во втором режиме нажатиями клавиш, например, можно печатать текст на странице.
- Для перехода в режим команд необходимо нажать кнопку
Esc, а чтобы оказаться в режиме ввода можно нажатьi.
2 Общая раскладка клавиатуры
- Все расширения придерживаются базовых соглашений по привязке клавиатуры.
2.1 Навигация по текущей странице
?: показать диалог справки для получения списка всех доступных клавишh: прокрутка влевоj,C-e: прокрутка внизk,C-y: прокрутка вверхl: прокрутка вправоgg: прокрутка к верхней части страницыG: прокрутка к нижней части страницыd: прокрутка вниз на полстраницыu: прокрутка на полстраницы вверхf: открыть ссылку на текущей вкладкеF: открыть ссылку в новой вкладкеr: перезагрузкаgs: просмотр источникаi: войти в режим вставки; все команды будут игнорироваться до тех пор, пока вы не нажметеEscдля выходаyy: скопировать текущий url в буфер обменаyf: копирование url ссылки в буфер обменаgf: переход к следующему фреймуgF: фокусировка основного/верхнего фрейма
2.2 Переход на новые страницы
Для работы со ссылками и другими элементами на странице создаётся временная комбинацию из одной или нескольких символов, которые становятся видны после нажатия на клавишу
f(илиF).o: открыть URL, закладку или запись в историиO: открыть URL-адрес, закладку, запись в истории на новой вкладкеb: открыть закладкуB: открыть закладку в новой вкладкеf: открыть ссылку в текущей вкладкеF: открыть ссылку в новой вкладке
2.3 Поиск
/: войти в режим поискаn: цикл вперед к следующему найденному совпадениюN: цикл назад к предыдущему найденному совпадению
2.4 Навигация по истории
H: вернуться в историюL: идти вперед в истории
2.5 Управление вкладками
J,gT: переход на одну вкладку влевоK,gt: переход на одну вкладку вправоg0: переход на первую вкладку. Для перехода на n-ю вкладку используйте ng0g$: переход на последнюю вкладку^: посетить ранее посещенную вкладкуt: создать вкладкуyt: дублировать текущую вкладкуx: закрыть текущую вкладкуX: восстановить закрытую вкладку (т.е. развернуть команду ‘x’)T: поиск по открытым вкладкамW: переместить текущую вкладку в новое окно<a-p>: закрепить/открепить текущую вкладку<<: переместить вкладку влево>>: переместить вкладку вправо
2.6 Использование меток
ma,mA: установить локальную меткуa(глобальную меткуA)`a,`A": переход к локальной меткеa(глобальная меткаA): прыжок назад в позицию, предшествующую предыдущему прыжку (то есть до предыдущего перехода `gg`, `G`, `n`, `N`, `/` или`a ``)
2.7 Дополнительные команды просмотра
]],[[: перейти по ссылке с меткой ’next’ или ‘>’ (‘previous’ или ‘<’) (полезно для просмотра страничных сайтов)<a-f>: открыть несколько ссылок в новой вкладкеgi: фокусировка на первом (или n-ом) текстовом поле ввода на странице. Для перебора вариантов используйте <tab>gu: переход на один уровень вверх по иерархии URLgU: переход к корню иерархии URLge: редактировать текущий URLgE: редактировать текущий URL и открывать его в новой вкладкеzH: прокрутка до конца влевоzL: прокрутка вправоv: переход в визуальный режим; используйтеp=/=Pдля вставки и перехода, используйтеyдля перемещенияV: перейти в режим визуальной строки
3 Расширения для броузеров
3.1 Расширения для Chrome
3.1.1 Vimium
- Сайт: https://vimium.github.io/
- Репозиторий: https://github.com/philc/vimium
- Расширение Chrome: https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb
- Можно в настройках добавить локализованные комбинации клавиш: https://github.com/philc/vimium/wiki/Key-Mappings
- В настройках можно внести в список исключений сайты, на которых вы не хотите использовать сочетания клавиш Vimium.
3.1.2 Surfingkeys
- Репозиторий: https://github.com/brookhong/Surfingkeys
- Расширение для Chrome: https://chrome.google.com/webstore/detail/surfingkeys/gfbliohnnapiefjpjlpjnehglfpaknnc
3.1.3 cVim
- Репозиторий: https://github.com/1995eaton/chromium-vim
3.1.4 Vrome
- Репозиторий: https://github.com/jinzhu/vrome
- Разработка прекращена
3.1.5 Spotlink
- Репозитоий: https://github.com/reindert-vetter/spotlink/
3.2 Расширения для Firefox
3.2.1 Tridactyl
- Репозиторий: https://github.com/tridactyl/tridactyl
- Развитие Vimperator и Pentadactyl
- Расширение для Firefox: https://addons.mozilla.org/en-US/firefox/addon/tridactyl-vim/
3.2.2 Vim Vixen
- Репозиторий: https://github.com/ueokande/vim-vixen
- Разработка прекращена.
- Автор делает теперь Vimmatic.
3.2.3 VimFx
- Репозиторий: https://github.com/akhodakivskiy/VimFx
3.2.4 Vimperator
- Репозиторий: https://github.com/vimperator/vimperator-labs
3.2.5 Pentadactyl
- Репозиторий: https://github.com/5digits/dactyl
3.3 Расширения для Safari
3.3.1 Vimari
- Репозитоий: https://github.com/televator-apps/vimari
3.3.2 sVim
- Репозиторий: https://github.com/flippidippi/sVim
3.4 Расширения для Chrome и Firefox
3.4.1 Vimmatic
- Репозиторий: https://github.com/ueokande/vimmatic
3.4.2 Vimium-C
3.4.3 Firevin
- Репозитоий: https://github.com/glacambre/firenvim
4 Интерфейс Windows
4.1 Hunt-n-peck
- Репозиторий: https://github.com/zsims/hunt-and-peck
5 Интерфейс MacOS
5.1 VimMotion
- Репозитоий: https://github.com/dwarvesf/VimMotionApp
5.2 Homerow
- Сайт: https://www.homerow.app/
6 Отдельные броузеры
6.1 Vimb
- Сайт: https://fanglingsu.github.io/vimb/
- Репозиторий: https://github.com/fanglingsu/vimb
- На основе Webkit
6.2 Vieb
- Репозиторий: https://github.com/Jelmerro/Vieb