LINUX.ORG.RU

доведенный до ума less

 


15

2

давеча выдались свободные минутки, наконец-то доконфигурировал less до приемлемого состояния, когда им можно заменить дефолтный просмотрщик в mc.

что сделано:

  • написан фильтр для LESSOPEN - http://pastebin.com/keGVyn6S
  • выставлены нормальные дефолтные аргументы
    LESSHISTFILE=-
    LESS=-cRSM~#1PMФайл\: ?f%F:stdin. | Строки\: %lt-%lB?L/%L. ?PB(%PB\%) .| Страница\: %d?L/%D.
    
  • добавлены пара кейбиндингов для разных удобств, типа переключения режима переноса строк и показа номеров строк
     \e\e    quit
    ^[[19~  toggle-option N
    ^[OQ    toggle-option S
    
    эта гадость скармливается lesskey
  • чтобы не портилась статусная строка у man был сделан алиас для zsh - alias man='nocorrect LESS= man'
  • ну и напоследок - убрана галка «использовать встроенный просмотр» в mc

внутренний перфекционист жутко протестовал против коряво-обрезанной нижней строки в less, потому его (less, а не внутреннего перфекциониста) пришлось малось пропатчить

--- less-458/command.c.orig	2013-04-04 19:55:05.000000000 +0300
+++ less-458/command.c	2013-11-01 10:40:03.189045787 +0200
@@ -741,14 +741,19 @@
 	if (is_filtering())
 		putstr("& ");
 	if (p == NULL || *p == '\0')
+	{
 		putchr(':');
+		clear_eol();
+	}
 	else
 	{
+		int i;
+		char *ptr;
 		at_enter(AT_STANDOUT);
 		putstr(p);
+		clear_eol();
 		at_exit();
 	}
-	clear_eol();
 }
 
 /*

пока результатом доволен

>>> Просмотр (1024x600, 24 Kb)

★★★★★

Проверено: JB ()
Последнее исправление: ananas (всего исправлений: 1)

Not bad, not bad…

AX ★★★★★
()
Ответ на: комментарий от loz

Казалось бы, программа просмотра текстовых файлов.

А ещё там поиск по тексту запоминает все введённые фразы. Найди хоть один gui редактор, который так умеет.

AX ★★★★★
()
Ответ на: комментарий от l0stparadise

это косяк с башевской расцветкой. у них на сайте патчик есть.

ananas ★★★★★
() автор топика
Ответ на: комментарий от ananas

Раньше была довольно простой, похоже все изменилось.

loz ★★★★★
()

давно не было таких скриншотов, хорошая работа. А что за девайс? или просто разрешение не большое?

zarkone ★★
()
Ответ на: комментарий от KennyMinigun

остатки от экспериментов. под screen строка нормально не очищалась, упражнялся с пробелами, пока не удосужился внимательно man screen прочитать

ananas ★★★★★
() автор топика
Ответ на: комментарий от x4DA

а мне по кайфу эпатировать окружающих

ananas ★★★★★
() автор топика

кстати, есть старинный и некузявый способ «без рук» ))
#apt-get install source-highlight less
в .bashrc впихнуть:
export LESSOPEN=«| /usr/share/source-highlight/src-hilite-lesspipe.sh %s»
export LESS=' -R '

и юзать:
less file

bedcasus
()
Ответ на: комментарий от bedcasus

без рук он и сжатые файлы или архивы не видит, и прочее по типам не выдаст. да и source-highlight, явно зависимый от boost, мне как серпом по яйцам.

ananas ★★★★★
() автор топика
Ответ на: комментарий от rikardoac

когда-то это было fbpanel. но года два назад я сделал для себя то, что (без?)успешно пытается залудить geekless

ananas ★★★★★
() автор топика

+ int i;

+ char *ptr;

зачем в патче объявлять переменные, которые нигде в нем неиспользуются?

AVL2 ★★★★★
()
Ответ на: комментарий от Torvus
defshell -$SHELL
defscrollback 1024
defflow auto
defbce on

altscreen on

# default TERM
term screen-256color

# xterm scrollbar
termcapinfo xterm* ti@:te@

# Look and feel
shelltitle "Shell"
caption always
caption string '%{= kW}[%-w%{= Ck}%50>%n %t%{-}%+w%<%{d} %=]%{d}[%{B}%c%{d}]' 

# Tab navigation
bindkey "^[[1;5D" prev
bindkey "^[[1;5C" next

bindkey "^T" screen

# Launchers
bind r screen -t "Root " sudo su -l
bind t screen -t " Top " top
bind c screen -t "Calc " bc
bind l screen -t "Logs " sh -c 'tailf /var/log/messages | ccze -m ansi'
ananas ★★★★★
() автор топика
Ответ на: комментарий от Zubok

В генте скрее всего эта штука стоит - http://sourceforge.net/projects/lesspipe/

Я тоже ее сначала использовать пробовал, но уж больно она глючная и негибкая. Да и код там ужасен, мне проще свое навелосипедить, чем с подобным чужим бороться

ananas ★★★★★
() автор топика
Ответ на: комментарий от ananas

В генте скрее всего эта штука стоит - http://sourceforge.net/projects/lesspipe/

Именно! Вообще-то lesspipe в Debian идет в составе пакета less. Как раз в посте отсылаю товарища к man lesspipe. Просто она не активирована и колорайзера никакого по умолчанию нет, пока не поставишь. Я нашел гентушный колорайзер code2color и еще python-pygments. Но есть еще какие-то.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

В последних версиях колорайзкр уже включен в состав lesspipe. Но он довольно убог, и пока нет нормального механизма подсунуть свой

ananas ★★★★★
() автор топика
Ответ на: комментарий от ananas

В последних версиях колорайзкр уже включен в состав lesspipe. Но он довольно убог, и пока нет нормального механизма подсунуть свой

Как нет? Через ~/.lessfilter (man lesspipe, раздел USER DEFINED FILTERS). Или это еще пока не совсем нормальный механизм?

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

не знаю, может в дебиане какой-то другой lesspipe, но в этом я вычитал только следующее

A different colorizer can be called by setting the ENV variable LESSCOLORIZER do the name of an alternative (currently only pygmentize allowed).

ananas ★★★★★
() автор топика
Ответ на: комментарий от ananas

Похоже, что другой. Мне кажется, что ~/.lessfilter есть только в Debian (и в производных). Ибо оригинальный lesspipe.sh вроде не имеет такой возможности без его правки напрямую. А в Debian вот сделали хоть как-то.

Zubok ★★★★★
()
Ответ на: комментарий от ananas

terminus с патчами alt/dv1.diff и alt/ij1.diff

А что делают эти патчи? Вдруг что интересное, а то я не удовлетворен одинаковым написанием с латиницей «с» и «д» (с «g»).

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

угу. посмотрел, и сам наложил еще ll2 и td1

ananas ★★★★★
() автор топика

я раньше в файл mc.ext добавлял для просмотра логов:

<code># txt shell/.txt <------>Open=cat %f | ccze -A | less -R

# log regex/\.(log|log.1)$ <------>Open=cat %f | ccze -A | less -R

regex/(messages|messages.1|syslog|syslog.1)$ <------>Open=cat %f | ccze -A | less -R</code>

сейчас эта комбинация не работает почему-то.

http://pastebin.com/WpW53mcT

jura12
()

Зачем это всё? Господи, даже емакс в данном случае проще и заодно эффективней.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.