有用なもの:間違ったレイアウトの再コーディング

テキストが間違ったレイアウトで入力されることがよくあります。

もちろん、ブラインドタイピングを使用すると、この確率は大幅に低下しますが、インシデントは引き続き発生します。

テキストが非常に大きく、再入力が面倒な場合は特に残念です。





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は個々のアクションにホットキーを掛けることができないため、呼び出すのはあまり便利ではありません。

  1. テキストを選択
  2. バッファに入れる
  3. アクションメニューを呼び出す
  4. アクションを選択する(カーソル)
  5. バッファからテキストを貼り付ける




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'





グローバルホットキーに掛けることができます。

  1. 好きなようにテキストを選択してください
  2. ホットキーを押す



All Articles