Калькулятор в текстовом редакторе Geany
Еще Джеф Раскин писал про необходимость встраивания калькулятора прямо в текстовый редактор. Выделил выражение, которое требуется посчитать, нажал на определенную кнопку, и вместо выражения вставляется результат вычисления.
И вот я решил такое сделать в текстовом редакторе Geany, с которого никак не могу перейти на Emacs, не получается реализовать в последнем некоторые функции, к которым очень уж привык. Сделать в Geany такую возможность можно либо через плагин, который я не нашел сходу, либо через внешнюю команду, благо что для этого есть встроенная функция Правка
Форматирование
Отправить выделенное в
Сначала решил воспользоваться калькулятором bc, но не тут то было, он не очень то приспособлен для работы с командной строкой совместно с другими программами, имеет свой довольно запутанный интерфейс, да и вообще мне не нравится как он считает, к примеру не умеет считать дробные степени (или я не разобрался как это делается в нем). Попытка сделать для него скрипт вида echo "$*" | bc
привело к полному зависанию компьютера, но это видимо особенности процессора AMD в моем ноутбуке, снес от греха подальше этот bc, столько уже кровушки он у меня выпил, а толку от него нет.
Следующим кандидатом для калькулятора был выбрал calc (пакет apcalc
), но и его не получилось заставить работать совместно с Geany, ну никак не хочет принимать на вход данные, вываливает ошибку: "Unable to associate stdin with /dev/tty".
Наконец в репозитории Ubuntu был найден отлично работающий калькулятор - wcalc, который запускается командой wcalc -q
(параметр -q
нужен для того, чтобы не выдавал символ =
перед результатом вычислений).
Так что теперь могу считать прямо в текстовом редакторе, пишешь выражение (2+2*2+3)^(1/2)
, выделяешь его, нажимаешь Ctrl+1
, и на место выделенного вставляется 3
. Единственный минус, это то, что вставляется лишний перенос строки после выражения, но с этим недостатком вполне можно мириться.
Сам калькулятор wcalc довольно мощный, имеется множество функций, математических и физических констант, это довольно мощный инженерный калькулятор, умеющий к тому же работать и с разными системами счисления, что очень полезно для программиста. К примеру, можно очень легко делать преобразования из разных счислем счисления (двоичная, восьмиричная и шестнадцатиричная): wcalc -q -h
, и вызывать ее клавиатурным сочетанием Ctrl+2
.