テキストが間違ったレイアウトで入力されることがよくあります。
もちろん、ブラインドタイピングを使用すると、この確率は大幅に低下しますが、インシデントは引き続き発生します。
テキストが非常に大きく、再入力が面倒な場合は特に残念です。
1. UNIXの方法
最も明白なのは、標準入力から標準出力へのトランスコーダーを書くことです。
#!/usr/bin/perl -CS
use utf8;
$lat=q(`~!@#$%^&qwertyuiop[]asdfghjkl;'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL:"|ZXCVBNM<>?);
$cyr=q(!"№;%:?./,);
while(<>) { eval "tr{$lat$cyr}{$cyr$lat}"; print; }
/ *「-CS」は、stdinおよびstdoutのutf8エンコーディングを設定します。「use utf8」-スクリプトテキスト自体のエンコーディング。
原則として、これらすべてを1行に入れることができます。
perl -CS -Mutf8 -pe 'tr/qwerty....../...qwert.../;'
* /
更新:
perlの代わりに、よりデフォルトのsedを使用できます。
sed -e 'y/qwerty....../...qwerty.../'
たとえば、kdeのklipperでこのスクリプトをねじ込むのは非常に自然です。
正規表現
.*
(任意のテキスト)の場合、コマンド:
echo -n "%s" | translit
echo -n "%s" | translit
おそらくgnomeにも似たようなものがあります。
確かに、klipperは個々のアクションにホットキーを掛けることができないため、呼び出すのはあまり便利ではありません。
- テキストを選択
- バッファに入れる
- アクションメニューを呼び出す
- アクションを選択する(カーソル)
- バッファからテキストを貼り付ける
2.xclip
xclipユーティリティを使用すると、バッファからテキストを引き出して元に戻すことができます。
さらに、クリップボード(クリップボード)とマウスで選択されたテキスト(プライマリ選択)の両方を処理できます。
コマンド:
xclip -out | translit | xclip -in
xclip -out | translit | xclip -in
マウスの左ボタンで選択を再コーディングし、マウスの中央ボタンで結果を貼り付けることができます。
マウスの選択ではなく、クリップボードを処理するには:
xclip -out -sel clip| translit | xclip -in -sel clip
3.xdotool
Xには、「選択したテキストをバッファに入れたり、バッファから入れたりする」という汎用コマンドはありません。
しかし、ほとんどのプログラムでは、これはCtrl-C / Ctrl-Vを押すことで行われます。
これらのキーを押すと、xdotoolでシミュレートできます。
結果としてのコマンドは次のとおりです。
xdotool key 'ctrl+c'; xclip -out -sel clip | translit | xclip -in -sel clip; xdotool key 'ctrl+v'
グローバルホットキーに掛けることができます。
- 好きなようにテキストを選択してください
- ホットキーを押す