Тут я попытаюсь собрать конвертеры текстовых документов, для возможности просмотра во встроенном редакторе FAR Manager.
Примечания:
в качестве вспомогательных утилит я использовал пакет UnxUtils. (не обязательно его устанавливать полностью, достаточно будет надергать нужные программки)
утилита fmt.exe – из пакета UnxUtils используется лишь для того чтоб выровнять текст по ширине редактора (для вьювера не нужна).
"магическое" число 140 - ширина редактора ФАРа в символах: изменить значение под себя или воспользоваться
Тут приводятся примеры командных строк: by wolf (используя штатные средства): far:view < %comspec% /v /q /c "for /f "skip=4 tokens=2" %a in ('mode con') do 1>nul set /a width=%a-1 & zd2t.exe /ZN /n1 /zw /wC /r!!width!! "!\!.!" & exit "
by HaRT (используя gawk из пакета UnxUtils): для русской локали: far:view < for /f %W in ('"mode con | gawk /Столбцы:/{print($2-1)}"') do @zd2t.exe /ZN /n0 /zw /wC /r%W "!\!.!" для английской локали: far:view < for /f %W in ('"mode con | gawk /Columns:/{print($2-1)}"') do @zd2t.exe /ZN /n0 /zw /wC /r%W "!\!.!"
by MDM (используя sed из пакета UnxUtils):(не учитывается возможная полоса прокрутки) far:view < for /f "tokens=*" %i in ('mode con ^| sed -n "5 s/\(.* \)\([0-9]*$\)/\2/p"') do @zd2t.exe /ZN /n0 /zw /wC /r%i "!\!.!"
Настройки приведены такие чтоб на выходе получать кодировку 1251(win). Те утилиты, что поддерживают юникод, конечно можно настроить на вывод UTF-8. Но мне попадаются такие файлы где кириллица записана не в юникодном формате, а в кодировке 1251 и поэтому на выходе получаю нечитабельный текст.
Те утилиты, которые в настройках отмечены значком , используются мною повседневно. Отметил для того, чтоб людям было легче сделать выбор из этой кучи... м-м-м... программ.
Всё протестировано на такой конфигурации: WinXPsp3 x32 FAR 2.0. Vista, Семерка и их 64-битные версии не проверялись.
:: Win Batch version by mitry
@echo off
:: @(#) man - unix man emulator
:: Syntax:
:: man {[section] topic} | {manfile}
:: Requires:
:: * groff.exe and grotty.exe (see http://gnuwin32.sourceforge.net/packages/groff.htm)
:: * cmd.exe with extentions (tested with WinXP.sp1)
:: Limitation:
:: * Simplest command line syntax
:: * No search in multiple man dirs (ToDo:???)
::
setlocal enableextensions
setlocal
if "%1"=="" goto :usage
:: !!! For VIM Man script not supported options
for %%x in ( a c d D f F h k K t W ) do if %1 == -%%x shift /1
if not defined MANPATH set MANPATH=c:\usr\share\man
if not defined MANSECT set MANSECT=1 8 2 3 4 5 6 7 9 tcl n l p o
if not defined PAGER set PAGER=less -C
set GROFF_FONT_PATH=c:/usr/share/groff/font
set GROFF_TMAC_PATH=c:/usr/share/groff/tmac
set GROFF=groff -P -c -Tlatin1 -mandoc
::set LESS= --ignore-case --hilite-search --squeeze-blank-lines --CLEAR-SCREEN --no-init -z 60
set LESS=--ignore-case --hilite-search --squeeze-blank-lines --no-init --no-lessopen --underline-special --status --window=60
set LESSCHARSET=koi8-r
set COLUMNS=96
set PATH=%~dp0
::set LESS=++!"title %* - Man"
::title %* - Man
set PIPE=
set FINDSECT=
:: Show file (not dir) in the current dir if some exists
if exist %1 if not exist %1\nul call :show %1 %~x1
if not "%2"=="" call :dosect %1 %2
::::::::::::::::::::::::::::::::::::::::::::
:findsect
set FINDSECT=1
for %%S in (%MANSECT%) do call :dosect %%S %1
call :notfound %1
::::::::::::::::::::::::::::::::::::::::::::
:: dosect - Search secttion %1 for %2
:: %1 - section character
:: %2 - topic
:dosect
::echo Searching sect %1 for %2 >&2
for %%F in ( %MANPATH%\man%1\%2.* ) do call :show %%F %%~xF
if exist %MANPATH%\catman\cat%1\%2.%1.txt call :showTXT %MANPATH%\catman\cat%1\%2.%1.txt
if defined FINDSECT goto :EOF
call :notfound %2(%1)
::::::::::::::::::::::::::::::::::::::::::::
:: Subroutine show - filter file through groff utility
:: %1 - file to show
:: %2 - file extention
:show
if "%2"==".gz" set PIPE=gzip -dc
if "%2"==".bz2" set PIPE=bzip2 -dc
if defined PIPE goto :showpipe
:showfile
%GROFF% %1 2> nul | %PAGER% -
goto :finish
:showpipe
%PIPE% %1 | %GROFF% - 2> nul | %PAGER% -
goto :finish
::::::::::::::::::::::::::::::::::::::::::::
:: Subroutine show - filter file through groff utility
:: %1 - file to show
:showTXT
%PAGER% %1
goto :finish
::::::::::::::::::::::::::::::::::::::::::::
:: Subroutine usage - show usage info and exit
:usage
echo %~nx0 - search and display unix manual pages >&2
echo Usage: >&2
echo ^ %~n0 {[section] topic} ^| manfile >&2
exit 1
::::::::::::::::::::::::::::::::::::::::::::
:: Subroutine notfound - shoe error message and exit
:notfound
echo %~n0: No man page for %1 >&2
exit 3
:finish
exit 0
rem In .bashrc i have alias:
rem alias man='${COMSPEC//\\//} //c "c:\\usr\\bin\\man.cmd $*"'
Что интересно, Groff содержит в себе и Deroff и PolyglotMan, причём бинарники почему-то свежее чем в соответствующих самостоятельных пакетах.
http://lynx-win32-pata.sourceforge.jp/, как и десяток других подобных сайтов, поддерживает только морально-устаревшие версии 3-5-летней давности. соответственно, не может являться первоисточником.
http://lynx-win32-pata.sourceforge.jp/, как и десяток других подобных сайтов, поддерживает только морально-устаревшие версии 3-5-летней давности. соответственно, не может являться первоисточником. http://fredlwm.iblogger.org/lynx/ - единственный сайт с актуальными сборками Lynx по отношению к официальным Linux-билдам.[/size][/quote]Не спорю. Я сссылки в таком порядке и поставил - сначала актуальные а потом не очень. Просто, по второй ссылке мне попалась версия, которая спокойно запускается без всяких батников.
А насчет недостоверности некоторых ссылок, то все может быть.
У меня с доступом к интернету напряг, поэтому детально вчитываться не всегда есть время.
Кто может подвести итоги: имеется ли какой-то скрытый смысл в использовании lynx, либо links лучше по всем существенным для данного топика параметрам?
И что по поводу elinks? Он не умеет преобразовывать html в текст?
John Doe wrote:Кто может подвести итоги: имеется ли какой-то скрытый смысл в использовании lynx, либо links лучше по всем существенным для данного топика параметрам?
Links, конечно, красивее в текст дампит. Сейчас даже поставил в качестве основного конвертера для просмотра (HyperView в качестве альтернативы).
А Lynx тут для коллекции лежит (кто чем хочет - тот тем и пользуется)
John Doe wrote:И что по поводу elinks? Он не умеет преобразовывать html в текст?
Добавил утилиты: odt2txt (не путать с OdfToTxt): Единственное отличие - умеет пользовать юникод. Wv: Конвертирует документы MS Office .doc в различные форматы.