Vim-like браузеры

в 22:09, , рубрики: dwb, pentadactyl, usability, uzbl, vim, vimperator, браузер, браузеры

Привет. Существует такая категория браузеров ( к ней можно отнести большое количество софта, но статья только про браузеры ), которую называют «vi/vim-like». Главной их особенностью является возможность работать без мыши, используя только горячие клавиши в стиле vim. Это также означает, что изначально, как и редактор, они могут быть очень непривычны, а прирост КПД будет заметен лишь через время.
Далее я расскажу про мой путь их познания, постепенно подводя итоги.

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

uzbl

Моим первым был uzbl. На фразу «vi-like» внимания сначала не обратил, ведь искал только по критерию скорости работы. Понял то, как важен был этот пункт, когда не смог открыть первый url. По опыту с редактором понял, что стоит перетерпеть первую неделю-две, а потом всё будет нормально. «Бонусом» была обещанная производительность.
Всё в данном браузере настраивалось только путём редактирования конфига на собственном dsl с возможностью писать расширения ( которых, кстати, почти нету для всех подобных браузеров из-за их малой популярности ) на python.
Время шло, а со временем проявлялись и недостатки. Те, которые мне прямо таки въелись в память:

  • Часто браузер просто игнорировал курсор в поле и не хотел переходить в insert-mode ( жизненный пример: после входа в поле начинаешь печатать текст, а поднимая голову понимаешь, что всё это время ты был в command-mode и твои вкладки давно закрыты, как и сам браузер ) и автоматически его устанавливал при открытии вкладки.
  • С отсутствием любой мелочи нужно было либо смириться, либо разбираться в скупой на информацию документацию, реализовывая всё на dsl ( с python я и близко не знаком, но не думаю, что там всё было бы сильно проще ), который всегда казался мне не самым удобным и чрезмерно усложнённым.

Хотелось бы поменьше возится с конфигами, но и в то же время иметь возможность настроить всё под себя. Тогда я уже плотно подсел на подобного рода управление, возвращаться на обычный браузер желание отсутствовало, поэтому вернулся на обычный браузер, но с «vim-like» плагином.
Пригодный к использованию браузер, хоть и все ещё очень сырой ( стоит отметить, что последняя версия была выпущена в 2012 году и есть вероятность, что таким он и останется, однако коммиты пару раз в месяц пока появляются ). Если вы готовы потратить кучу времени на понимание того, как всё работает, чтобы подстроить под себя что-то, кроме клавиш, то этот вариант вам вполне подойдёт. Сложно, но сделать полностью отвечающий своим требованиям браузер вполне реально, если учитывать, что вся начальная функциональность пакета uzbl-browser предоставляется конфигурационным файлом и десятком скриптов.

Расширения для браузеров

На этой ноте я расстался с uzbl и решил попробовать расширения на популярные браузеры. В этом плане первым стал vimperator на firefox — решение, изначально требующее только настройки клавиш под себя ( исключением является тот момент, когда вам нужно установить действие на уже используемое браузером сочетание клавиш. В firefox это решается установкой расширения, а в chrome, где также существуют аналогичные vimperator'у плагины, не решается вовсе, насколько я смог понять ). Через время наткнулся на pentadactyl, который есть почти тот же самый vimperator, но чуть менее быстрый и более функциональный. И всё было бы нормально, ведь основные телодвижения в виде работы с вкладками и навигации по странице совершаются без мыши, мелкие недостатки не особо мешают, но вот про возможность перехода по ссылкам только клавиатурой приходилось постепенно забывать, ведь расстановка этих самых меток над ними занимала 2-4 секунды на типичной странице. Так и терялся весь смысл расширения — почти всё остальное можно было делать и в обычном браузере, только другими кнопками. Довольно часто расширение и браузер друг с другом не согласовываются и делают одну задачу по-разному, но одновременно. Попав в аналогичную ситуацию с chrome и расширением vimium ( самое малофункциональное, но зато и самое простое в настройке — вариант для домохозяек) я решил более не пытать удачи с «тяжёлыми» браузерами и поискать более «лёгкие» варианты.
Если вам не особо важна мгновенная реакция на ваши запросы и если не обращать внимание на некоторые конфликты браузера и плагина и ограничения, то это ваш вариант. Также у вас сразу есть проверенный годами и миллионами людей софт с возможностью установить любые другие расширения, которых, как я уже замечал, на отдельные браузеры не очень много.

luakit

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

  • Чтобы вызвать разметку ссылок для перехода, нужно обязательно сделать фокус на текущей вкладке, который сбивается после каждого перехода, поэтому быстро бегать по ссылкам не получится, нужно как минимум сделать 2 лишних телодвижения. Вполне возможно, это решается какой-то одной настройкой.
  • Почему-то после перехода по ссылкам страница обновляется таки полностью. Даже музыка в вконтаче прерывается.

Стоит попробовать, если вам хочется поковыряться в конфигах, своими руками настроив под себя, но uzbl для вас слишком сложный. Последнее изменение в репозитории было 2 года назад.

dwb

И то, на чём я остановился, пользуясь до сих пор — dwb. Сразу порадовало то, что про конфигурационные файлы можно забыть. Все, включая конфигурацию самого браузера, можно настраивать и в нём же. Существует также «менеджер» расширений, которые, кстати, пишутся на js, так что скачивать каждое и устанавливать руками больше не понадобится. Первые строки мне пришлось писать примерно через месяц беззаботного пользования, когда вдруг понадобилось загружать только одну вкладку при запуске, а не все. Благо, мне попался полу-рабочий вариант, который быстро был допилен до рабочего — уж такая там хорошая документация.
Из недостатков отмечу то, что прокрутка клавишами некоторых страниц не работает и приходится таскать ползунок. Еще почему-то через раз работает flash player, но это, скорее всего, мои кривые руки, ведь у остальных всё нормально.
Единственный проект из всех мною просмотренных, автор которого всё ещё проявляет активность и довольно часто что-то коммитит. Даже на форуме отвечает.

Такие пироги. Всем, кто еще не пробовал — стоит посмотреть. Тем более, если vim когда-то оставил у вас хорошее впечатление. Начиная с расширения для браузера и заканчивая dwb, если таки подсядите, как я.
Более детальные описания и скриншоты к каждому браузеру расположены по соответствующим ссылкам.

Автор: sperson

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js