Этот конкретный набор цветов предназначен для «старого» стиля. Lynx поддерживает один из следующих вариантов:
« Новый »стиль - это настроенный с параметром COLOR_STYLE
в lynx.cfg
:
Также известный как «lss» ( lynx style-sheet ), файл цветовых стилей назначает сочетание цветов для тегов и комбинаций тегов. Обычно непустое значение компилируется в
lynx
, и пользователь может переопределить это, используя параметр командной строки -lss. Сценарий configure позволяет компилировать в пустая строка. Еслиlynx
не находит значения для этого параметра, он имитирует назначения без цвета, используя параметрыЦВЕТ
.Если ни одна из командная строка "-lss "или указан этот параметр
COLOR_STYLE
,lynx пробует
переменные среды" LYNX_LSS "
и" lynx_lss "
. Если ни один из них не задан,lynx
использует th e первое скомпилированное значение (которое, как уже отмечалось, может быть пустым).При запуске
lynx
запоминает имя файла цветового стиля, который использовался, и вместе с каждым указанным файлом предоставляет его в качестве вариантов в меню пунктов O ).
Исходники lynx включают сценарий oldlynx
, который можно использовать для имитации старого стиля:
#!/bin/sh
# invoke lynx built with color-style, overriding the color options to use the
# non-color-style scheme -TD
my_cfg=${TMPDIR:-/tmp}/lynxcfg$$
trap "rm -f $my_cfg" 0 1 2 5 15
rm -f "$my_cfg"
echo "DEFAULT_COLORS:off" >>$my_cfg
if test -n "$LYNX_CFG" ; then
echo "include:$LYNX_CFG" >>$my_cfg
fi
echo "COLOR_STYLE:" >>$my_cfg
echo "NESTED_TABLES:off" >>$my_cfg
LYNX_CFG=$my_cfg
export LYNX_CFG
unset LYNX_LSS
${LYNX_PROG-lynx} "$@"
Например, вот справочная страница с цветовым стилем по умолчанию:
и вот та же страница с использованием oldlynx
(с использованием 2.8.7):
, хотя я только что заметил, что это не работает для 2.8.8: кое-что упущено в этом изменении для 2.8.8dev. 17 :
* modify configuration of COLOR_STYLE value in lynx.cfg, allowing multiple
filenames to be specified and providing those as choices in the O'ptions
menu (Debian #404893) -TD
Это сделало несколько значений для файла цветового стиля доступными в виде списка выбора в меню параметров. Простым обходным решением было бы заставить lynx
использовать пустой файл цветового стиля , например,
#!/bin/sh
# invoke lynx built with color-style, overriding the color options to use the
# non-color-style scheme -TD
my_cfg=${TMPDIR:-/tmp}/lynxcfg$$
my_lss=${TMPDIR:-/tmp}/lynxlss$$
trap "rm -f $my_lss $my_cfg" 0 1 2 5 15
echo >$my_lss
rm -f "$my_cfg"
echo "DEFAULT_COLORS:off" >>$my_cfg
if test -n "$LYNX_CFG" ; then
echo "include:$LYNX_CFG" >>$my_cfg
fi
echo "COLOR_STYLE:" >>$my_cfg
echo "NESTED_TABLES:off" >>$my_cfg
LYNX_CFG=$my_cfg
export LYNX_CFG
LYNX_LSS=$my_lss
export LYNX_LSS
${LYNX_PROG-lynx} "$@"
(некоторые могут использовать mktemp
, но когда скрипт было написано менее актуальное, чем сейчас).
Если вы не возражаете против перемещения файлов...
Вы можете сделать это, переместив файлы в git-репозиторий и связав их симлинками со старыми местами; в итоге вы получите
~/gitrepo/somedir/otherdir/file1
, перемещенный из ~/somedir/otherdir/file1
~/gitrepo/otherdir/somedir/file2
, перемещенный из ~/otherdir/somedir/file2
~/somedir/otherdir/file1
на ~/gitrepo/somedir/otherdir/file1
~/otherdir/somedir/file2
на ~/gitrepo/otherdir/somedir/file2
После этого вы можете смело фиксировать файлы в git-репозитории, и работать с ними с помощью git, и всё, что использует старые пути к файлам, будет видеть текущее рабочее пространство git. Связывать файлы наоборот, или использовать жесткие ссылки, будет опасно, потому что любая операция git, которая перепишет файл (изменение ветвей, возврат к предыдущей версии...), нарушит связь. (Надеюсь, это объясняет, почему жесткие ссылки не являются действительно жизнеспособным решением.)
При таком сценарии вам придется быть осторожным с программами, которые полностью переписывают файлы, разрушая ссылки; многие текстовые редакторы делают это, как и такие инструменты, как sed -i
и т.д. Более безопасным подходом было бы перемещение всех папок в git-репозиторий и симлинковка каталогов.
Если вы хотите сохранить файлы на месте...
Другая возможность - создать git-репозиторий в вашем домашнем каталоге, сказать git'у игнорировать всё, а затем принудительно добавить файлы, которые вы хотите отслеживать:
cd
git init
echo '*' > .gitignore
git add -f .gitignore
git commit -m "Initialise repository and ignore everything"
git add -f somedir/otherdir/file1
git commit -m "Add file1"
git add -f otherdir/somedir/file2
git commit -m "Add file2"
Сделав это, вы легко сможете отслеживать изменения в файлах, которые вы явно добавили, но git не будет рассматривать новые файлы. При такой настройке должно быть также безопасно иметь другие git-репозитории в подкаталогах вашего домашнего каталога, но я не проверял подробно...