Что: 95379ffa55702403012f547af8a04c34fd7c1217
Когда: 2021-09-01 13:46:28+03:00
Темы: tip web
edbrowse вполне себе серьёзный броузер Подольше поигрался я с этим броузером (b808c84c797a82f570dcf478fbb83ab3b9d2efb0) и очень впечатлили подходы в нём. А точнее не в самом броузере, а этом ed редактора на стероидах. В отличии от стандартного ed-а, тут есть параллельные независимые сессии. Аналог буферов vi. Каждая сессия имеет свою "историю" переходов между буферами (файлами). Открывая новую страницу, у меня в текущей сессии появляется новый буфер, но до старого можно дойти через "^" команду. Если мне хочется открыть несколько ссылок в отдельных табах, то в eb (edbrowse) я сделаю: > b www.stargrave.org/Links.html < 6757 < 941 > /Aerospace/g < *http://www.stargrave.org/LinksCatAerospace.html < 3512 < 430 > M < moved to session 2 < • {Aerospace (4 items)}:| | > /DNS/g < *http://www.stargrave.org/LinksCatDNS.html < 4936 < 786 > M < moved to session 3 < • {DNS (10 items)}:| | > bflist < 1: Interesting links (Sergey Matveev’s homepage) < 2: Links category: Aerospace (Sergey Matveev’s homepage) < 3: Links category: DNS (Sergey Matveev’s homepage) "M" создаёт новую сессию, перемещает текущий "буфер" в неё, а в исходящей сессии выполняет "^" команду перемещения по истории назад. Из-за кэша ничего лишнего не подгружается, зато можно ссылки в фоне пооткрывать удобно независимые (пример из документации): < 1g < M2 < 2g < M3 < 3g < M4 Ввод в textarea делается тоже через выделение нового буфера в котором заполняется текст, а после сохранения он станет содержимым textarea. Можно вызвать редактирование строки с ссылками, чтобы например добавить в файл с закладками: > b www.stargrave.org/Links.html < 6757 < 941 > /XBEL/ < All of these are also exported in {recfile}, {XBEL} and {OPML} formats. > g? < multiple links present, please use g1 through g3 > g2? < http://www.stargrave.org/links.xbel > A 185 > ,n < 1 <br><a href='http://www.stargrave.org/links.rec'> < 2 recfile < 3 </a> < 4 <br><a href='http://www.stargrave.org/links.xbel'> < 5 XBEL < 6 </a> < 7 <br><a href='http://www.stargrave.org/links.opml'> < 8 OPML < 9 </a> > /xbel/iJ > /xbel/iJ > v/xbel/d > w+ $books < 61 > ^ < All of these are also exported in {recfile}, {XBEL} and {OPML} formats. В режиме файлового менеджера эти сессии используются для открытия разных директорий параллельно. Переместив строчку с файлом из одного буфера в другой -- будет реально перемещение файла. Можно и копировать его: % mkdir src dst % touch src/gotcha % eb src < directory mode < 54 > ,n < 1 ../ 1472 Sep 1 2021 13:58 < 2 gotcha 0 Sep 1 2021 13:54 > e dst < directory mode < 27 > M < moved to session 2 < gotcha 0 Sep 1 2021 13:54 > /gotcha/m2 < ? > h < directories are readonly, type dw to enable directory changes > dw > /gotcha/m2 < gotcha → dst > e2 < dst > /got/t1 < gotcha ≡ src > q % bfs -type f src dst src/gotcha dst/gotcha Небольшие скриптовые способности достаточны чтобы реализовать jump-list как в Lynx: function+S{ b https://lite.duckduckgo.com/lite/?q=~0 /Next Page/+1 z20 } > <S "hello world program" [выдача 20 строчек DuckDuckGo игнорируя ненужный заголовок] function+Spy{ b https://pypi.org/project/~0/ /^h1/ z20 } > <Spy pygost < 69245 < 7662 < < h1 pygost 5.6 < < pip install pygost < Copy PIP instructions> < {Latest version} < < Released: Apr 22, 2021 [...] Мне всё равно ещё непривычно сидеть и не видеть весь вывод, весь текст. Нажимать ,n каждый раз -- геморройно, да и надо проматывать будет. Так как я использую rlwrap с eb-ом (чтобы получить vi редактирование строки, историю и автодополнение путей к файлам), то добавил в нём mapping на F1, вводящий "<Scroll\n", который в свою очередь запускает вот такую функу: function+Scroll{ +,+20n if(?) { +,$n if(?) { 0<Scroll } } } Весь этот геморрой с if-ами только для того чтобы он мог проматывать по 20 строчек находясь и в конце файла. Долбя F1 я буду видеть chunk-и текста. Но думаю что вообще сделать сохранение во временный файл и натравливание на него less, нажав какой-нибудь F2. Но это наверное совершенно не ed-way. Видя как можно получить текст web-страницы или директории (или FTP директории), что можно её всю из себя исковеркать всякими g// и v// командами удаляющими ненужный мусор типа рекламы, а потом применяя очередные команды -- понимаешь что в Plan9 Acme редактора ведь именно подобная идея тоже исповедуется. Очень необычно и впечатляюще. Насколько разными могут быть подходы к работе с текстом и манипуляциями с почтой, web-ом, файлами и СУБД (ни почту, ни СУБД я в edbrowse не пробовал, только читал в документации про них).
Сгенерирован: SGBlog 0.34.0