Re: Добавить к пейджеру распознавание кодировки
On 06.10.2013 01:05, Sciko Good wrote:
Про most ничего не скажу, т.к. им не пользуюсь, а для less рекомендую прочитать
man lessfile, а именно секцию "USER DEFINED FILTERS". В качестве примера скрипта
можно привести дефолтный /usr/bin/lesspipe.
P.S. Нашёл небольшой пост про эту возможность:
http://s.arboreus.com/2008/07/less-gz.html
Про lesspipe я знаю, но внимания не обращал: думал просто какой-то
скрипт-препроцессор для less.
Хотя вот это не совсем ясно:
"Фильтр /usr/bin/lesspipe смотрит на расширение файла и запускает нужный
конвертрер, если необходимо. Разница между lesspipe и lessfile в том, что первый
конвертирует файлы на лету, сразу отдавая результат в less, а lessfile вначале
полностью конвертирует файл, и только потом вызывает less."
Разница между ними всего-лишь в том, что в первом случае всё отдаётся через пайп:
<<
artiom@dana:~$ lesspipe
export LESSOPEN="| /usr/bin/lesspipe %s";
export LESSCLOSE="/usr/bin/lesspipe %s %s";
artiom@dana:~$ lessfile
export LESSOPEN="/usr/bin/lessfile %s";
export LESSCLOSE="/usr/bin/lessfile %s %s";>>
У него есть те же самые недостатки:
1. Он применяется ко всему файлу, а не к странице. Если я пытаюсь открыть диск
ВМ, переименованный в файл.doc, less зависает, в ожидании отработки конвертера.
Без конвертера файл открывается почти мгновенно.
2. Это действительно хук, но только на открытие _файла_. less вызывает этот хук,
если less'у передаётся параметром имя файла. При передаче через пайп, хук вызван
не будет. Для преобразователя кодировки это неприемлемо.
3. К нему надо поставить ещё кучу барахла, типа catdoc (у меня уже есть wvWare
для mc).
4. Конечно возможно написать враппер над ним, но...
Есть другие варианты?
Reply to: