vak: (Default)
[personal profile] vak
Я обновил Bash Commander до версии bash-5.1-patch-8. Похоже, в баше починилась наконец ошибка, из-за которой режим терминала иногда восстанавливался неправильно.

Кому надо - берите отсюда: https://github.com/sergev/bash-commander

Основная идея баш командера в том, что это обычный баш, но в котором можно включить окошки и перейти в экранный режим. Делается это пустой командой, то есть нажатием Enter. Появляются два окна, и клавиши стрелок, Home, End, PageUp, PageDown начинают перемещать курсор текущего файла по этим окошкам. Tab переходит из левого окошка в правое и наоборот. Кнопки F1-F20 выполняют какие-то действия, а на самом деле вызывают функции bash, определённые в стартовом скрипте. По ^J имя файла под курсором в окошке вставляется в командную строку. Когда мы вводим очередную команду, окошки гасятся и выполняется команда. Мы оказываемся в обычном режиме шелла, пока снова не введём пустую команду и не включим окошки. Можно также гасить-включать окошки по ^O, как в старом Демос Командере.

Расцветка окошек задаётся переменной COMMANDER. Пока эта переменная не установлена, окошки вообще не включаются.



Ставится оно так:
git clone https://github.com/sergev/bash-commander.git
cd bash-commander
./configure
make
make install
После этого вызывайте bashc - он будет вести себя как обычный баш. В том смысле, что без окошек. Можете даже смело ставить его на место /bin/bash. Чтобы включались окошки, надо как минимум установить переменную COMMANDER. Вкупе с остальными настройками, удобнее всего добавить в .bashrc команды:
declare -x EDITOR="le"
declare -x VIEWER="le --read-only"
. /usr/local/etc/bash_commander
Здесь EDITOR и VIEWER - вызовы вашего любимого текстового редактора в режиме редактирования и в режиме просмотра. Bash Commander будет вызывать их по клавишам F4 и F3.

Вообще привязка клавиш к действиям происходит в файле /usr/local/etc/bash_commander. Это обычный шелл скрипт, где надо определить функции с именами вида commander_f4(). Вы можете переделать это всё на свой вкус. Скажем, функция commander_start_file() определяет, что делать с разными типами файлов при нажатии клавиши Enter. В скриптах используется утилита dialog. Её надо установить отдельно. На Ubuntu это:
sudo apt install dialog
На маке:
brew install dialog
Я сваял Bash Commander тринадцать лет назад, в замену устаревшему Demos Commander, и с тех пор это моё основное средство общения с компьютером. Никакие IDE не нужны: комбинация bashc и le их успешно заменяет.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org