R6/2/3 日経Linuxが休刊を迎えたことを知りました。もうLinux使っていませんが、お疲れさまでした。当ブログの更新はいつかまた、、きっと、、
roadtoalinuxmintuser

theming

roundup
スポンサーサイト

一定期間更新がないため広告を表示しています

| - |
Linux Mint 19.x : 定型文を省略記号で展開する「Espanso」 00:53

Espanso とは


Espanso は、Rust で書かれた無料のオープンソーステキストエキスパンダー(定型文を省略記号で展開するツール)で、Linux だけでなく Windows、macOS X でも利用できます。設定はファイルベースで行い、GUI は備わっていません(Windows と macOS X では最小限のトレイアイコンがあります)。ほとんどのアプリケーションに対応しており、追加のパッケージで拡張することもできます。テキストエキスパンダーというものがどういうものか動画を見てください(ローカル IP アドレスは一応見えないようにしています):


AutoKey と違ってホットキーによるテキストの展開や GUI による設定はできませんが、クロスプラットホームに対応していたり、展開後のカーソルの位置を指定できる点は Autokey には無い特徴です。

インストール


Ctrl
+
Alt
+
T
を押して端末を起動します。
端末へコマンドをペーストするには
Ctrl
+
Shift
+
V
を押します。
次のコマンドを実行します:
sudo apt install -y xclip snapd && sudo snap install espanso --classic
以下のメッセージが表示されたら y と入力し
Enter
を押します:
espanso must be registered to systemd (user level) first. Do you want to proceed? [Y/n] 

使い方


まず、Espanso が実行中かどうかを調べましょう。2 通りの方法があります。以下のコマンドを実行してください:
espanso status
実行されていればこのように表示されます:
espanso is running

あるいは、 :espanso と入力し Hi there! に置き換えれれば実行中です。

もし、そうでなければ起動します:
espanso start
続いてテキストを展開するトリガーを設定していきましょう。設定ファイルは以下のパスです:
~/.config/espanso/default.yml

例えば、「:lupin」と入力すると、ルパン三世の名言の一つである「人生を楽しむこつはどれだけ馬鹿なことを考えられるかなんだ!」に展開されるよう設定してみます。- trigger: "" のダブルクオーテーションの中にトリガーとなるテキストを、replace: "" のダブルクオーテーションの中に展開後のテキストを入力します。インデントは必ずつけてください。それが YAML の記載ルールです:
  - trigger: ":lupin"
replace: "人生を楽しむこつはどれだけ馬鹿なことを考えられるかなんだ!"


| を使えば、改行して記述でき、テキストが展開される際も改行が保持されたまま展開されます:
  - trigger: ":template"
replace: |
<h1></h1>
<h2></h2>
<p></p>

:date と入力すると、今の日付に展開されます。デフォルトでは月/日/年の並びになっているので日本での並びに直すと良いでしょう。日付だけでなく時間も設定できます:
"%Y年%m月%d日 %H時%M分%S秒"


shell の実行結果を入力することもできます。以下は ip a コマンドの出力から 192 から始まるローカル ip を入力します:
  - trigger: ":localip"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "ip a | grep 'inet 192' | awk '{ print $2 }'"

クリップボードのテキストを展開に反映させることもできます。以下は URL をクリップボードにコピーして :a と入力すると a リンクタグが入力されるものです。更に、Espanso は展開後のカーソルの位置も指定できます。そのためには「$|$」を使ってください。ここが展開後のカーソル位置になります:
  - trigger: ":a"
replace: "<a href='{{clipboard}}'>$|$</a>"
vars:
- name: "clipboard"
type: "clipboard"


以下の文字は特殊な役割が与えられているためダブルクオーテーションを使わないテキストの最初の文字には使えません:
' " [] {} > | * & ! % # ` @

変更した設定は Espanso を再起動しないと反映されません。設定ファイルを編集して保存すると自動的に再起動がかかりますが、明示的に再起動するには以下のコマンドを実行してください:
espanso restart

Alt
キーを 2 回押せば Espanso の無効/有効を切り替えることができます。

パッシブモード


Espanso にはパッシブモードというのがあります。これはリアルタイムでテキストを展開するのではなく、記述したあとで展開したいテキストを選択して、
Ctrl
を 2 回押すことにより展開するモードです。パッシブモードを有効にするには default.yml に以下を記述します。ファイルの先頭にでもコピペするといいでしょう:
enable_passive: true
passive_key: CTRL

トリガーに引数を与え、展開されるテキストに引数が反映されるととても便利ですが、リアルタイムで展開されるという性質上、この問題は課題でした。ところが、パッシブモードを利用すれば引数を与えることも可能です(ちなみに改行は¥nと入力することも可能です。円記号で表示されていますがバックスラッシュ(キーボードのろ)です):
  - trigger: ":greet"
replace: "$0$様¥n拝啓¥n新禄の候、ますますご清栄のこととお喜び申し上げます。"
passive_only: true
これで :greet/初音ミク/ と入力したあと、テキストを選択し、
Ctrl
を 2 回押すと $0 の部分が初音ミクに置換されて展開されます。いまいち何を言っているかわからない方のために動画も用意しました:


引数は $1、$2 と増やしていくことが可能です。また、引数を Shell や Python スクリプトに渡すことも可能です。以下の例では入力した文字数(ただし何故か 1 文字多い)を返します:
  - trigger: ":wc"
replace: "{{output}}"
passive_only: true
vars:
- name: output
type: shell
params:
cmd: "echo $0 | wc -m"
trim: true


以下の例では script.py に引数を渡します。例えば、:pyscript/hello/ と入力すれば script.py に hello が最初の引数として渡されます:
  - trigger: ":pyscript"
replace: "{{output}}"
vars:
- name: output
type: script
params:
inject_args: true
args:
- python
- /path/to/your/script.py


パッシブモードでは端末には対応していないことに留意してください。

パッケージによる拡張


最後に付け加えですが、パッケージを追加することにより使えるトリガーが増えます。例えば html タグを楽に入力したいとしましょう。その場合は「Html Utils Package」を追加します:
espanso install html-utils-package
espanso restart

これで :utf-8 と入力すると <meta charset="UTF-8"> と展開されたり、:viewport と入力すると <meta name="viewport" content="width=device-width, initial-scale=1"> と展開されたりします。



参考元: Linux Uprising Blog
| Linux |
<< NEW | TOP | OLD>>
スポンサーサイト 00:53
| - |

Show some apps list:


miku

Follow on your feed reader:


About this blog:

Linux Mint-centric chronicle with anime girls since 2009.Best View with Google Chrome 1980x1080 dimension.
Info 更新は不定期です。

script

LinuxMint ISO 日本ミラーサーバー:




Amazon: