私はしばしば小さな個別のテキストスニペットをコピーして、どこかに貼り付けています。その後、私は常に明確に定義された方法で貼り付けられた結果を編集する必要があります。これは、例えばsed
のs/PATTERN/REPLACEMENT/
コマンド。
このタスクの編集部分を自動化するには、スクリプトでクリップボードバッファーの内容をコピーと貼り付けの間に自動的に処理し、構成済みの正規表現の置換を適用して修正します。
実際の正規表現パターンと置換は、スクリプトの起動時にユーザーが入力する必要があります。小さなダイアログウィンドウを開いたままにし、変更が行われるたびにデスクトップ通知を送信します。
質問の投稿方法には、単純なスクリプトだけでなく、スクリプトを有効/無効にするためのGUIインターフェイスも必要です。 Ubuntuのトップパネルからアクセスできるアプリケーションインジケーターを使用すると簡単に実現できることがわかりました。この答えは、まさにそれを解決策として示しています。
この質問のために特別に書いたclipboard-autoedit-indicator
により、正規表現に基づいてクリップボードの内容を自動編集できます(sed
またはpythonのre
スタイルの選択)。 Gtkのクリップボードモジュールと最小限の依存関係を使用するため、xclip
やxsel
などの追加ツールをインストールする必要はありません。
ターミナルで次のコマンドを実行します。
Sudo add-apt-repository ppa:1047481448-2/sergkolo
Sudo apt-get update
Sudo apt-get install clipboard-autoedit-indicator
Unity Dash Clipboard Autoedit
を入力するか、コマンドラインから/usr/bin/clipboard-autoedit-indicator
を呼び出すことにより、インジケーターを起動できます。クリップボードの動的編集が有効/無効になっている場合に表示する2つのインジケータアイコン(色付きおよび灰色表示のクリップボードアイコン)があります。編集が行われると、通知がユーザーに送信されます。
[正規表現パターンの設定]メニュー項目は、zenity
フォームダイアログを呼び出します。ユーザーが正規表現ルールを編集すると、記憶され、~/.clipboard-autoedit-config.json
ファイルに保存されます。ユーザーがクリックすると、動的編集が自動的に有効になります OK ボタンを使用しますが、ユーザーは[置換を有効にする]チェックメニュー項目を使用して無効にできます。正規表現タイプのデフォルトは、Pythonのre
モジュールです。
ソースコードはMITライセンスの GitHub で利用可能です。さらなる開発および新しいバージョンがあります。機能のリクエストやバグレポートがある場合は、 GitHubで送信してください。
これはxclip
で簡単です。通知ビットの場合notify-send
から libnotify-bin
パッケージはニーズに合っている必要があります。最初にパッケージをインストールする必要がある場合があります。
Sudo apt-get install xclip libnotify-bin
以下をスクリプトに入力し、キーバインドを使用して実行可能にします。
#!/bin/bash
xclip -o | sed 's/pat/repl/' | xclip -i
notify-send "Clipboard" "Replacement done"