テキストエディターでの算術式の計算

Jeff Raskinは著書「Interface:New Directions in Design in Computer Systems」で、電卓を実行せずにテキストエディターで直接算術式を計算できることを説明しています。 この本に加えて、 boo1ean 記事「選択したテキストの任意の言語からロシア語への翻訳」および「bashでのプントスイッチャーのキーボードレイアウトの修正 触発され、このアイデアの実装をLinux向けに作成することにしました。 その結果、選択した算術式を計算し、それらを計算結果に置き換えるホットキーによって呼び出される簡単なスクリプトがあります。



解決策



スクリプトを機能させるには、xsel、xvkbd、bcの各パッケージが必要です。 インストール:



sudo aptitude install xsel xvkbd bc







次に、テキストエディターを開いて次のように記述します。



 #!/bin/sh PRECISION=4; SELECTION=$(xsel -o); if [ $SELECTION = "" ]; then exit 1; fi RESULT=$(echo "scale=$PRECISION;$SELECTION" | bc); if [ $RESULT ]; then BUFFER=$(xsel -b); echo -n "$RESULT" | xsel -b -i; xvkbd -xsendevent -text "\[Control_L]\[v]"; echo -n "$BUFFER" | xsel -b -i fi
      
      







PRECISION変数では、小数部の精度を示します(提示する実施形態では、小数点以下4桁)。 SELECTION変数に、選択した算術式を記述し、選択が空でない場合、bcを使用してその値を計算し、結果をRESULT変数に書き込みます。 結果がゼロでない場合は、BUFFER変数に現在のクリップボードの内容を書き込み、クリップボードの内容を計算の結果で上書きし、xvkbdユーティリティを使用して、Ctrl + Vをエミュレーションで貼り付けます(計算された式が選択されているため、挿入で結果が上書きされます)。 クリップボードの内容をユーザーに返します。



たとえば、selcalcという名前でファイルを保存し、実行権限を付与して/ usr / binに転送します。



sudo chmod +x ./selcalc && sudo mv ./selcalc /usr/bin/







Ctrl + Shift + Cなどのスクリプトを実行するホットキーを割り当てます(標準のGNOME 2ツールを使用しました)。



使用する







長所と短所



+計算機を実行する必要のない算術式の計算

+複雑な式のサポート(実際、bcが計算できる式は、計算の優先順位の制御、べき乗などを含む)

-Ctrl + Vによる貼り付けをサポートしていないテキストエディターでは動作しません。一部のエディター(Mozilla Thunderbird、Skype)では曲がって動作します



Open Office、Sublime Text 2、gedit、Pidgin、Nautilus(ファイル名変更モード)でテスト済み。



スクリプトはリンクからダウンロードできます。



All Articles