- Linux Mint を始めたばかりの人が抑えておくべき5つのこと
- 「mintUpdate」アップデートマネージャー のレベルの意味
- フリーズしたアプリの強制終了の仕方 〜 kill コマンド〜
- CPU と OS が 32 bit なのか 64 bit なのかを確認する「lscpu コマンド」
- メモリー(RAM)の規格・周波数・全容量・空き容量・エラーの有無を調べる
- 自分の Mint のバージョン/コードネーム/Ubuntu のバージョン/コードネームを確認する方法
- Mint Tools を使い倒す
- アプリ/ソフトのアンインストールと更新する方法
- X-Apps について少し知っておこう
- 「'gksu' not found」 廃止された gksu の代わりの方法
- Linux Mint 18 : DVD/Blu-ray リッピングソフト「MakeMKV」
- Mint 19.x: 「K3b」でブルーレイディスクに焼く方法
- Mint 18: 「avconv」でデスクトップの録画も、動画や音楽の変換も行う
- Mint 19.x : 画像・音楽・動画の変換これ一本「Ciano」
- Mint 18.2 : 字幕を同時に二つ表示できる多機能な動画プレイヤー「SMPlayer」
- Mint 18 : CDDB に Freedb を利用している CD リッピングソフト「Asunder」
- Mint 19.x : 音楽ファイルのタグ編集ツール「Kid3」
- Linux Mint 19.x : インストールすべき Rhythmbox プラグイン 9 選
- Linux Mint 18.3 : VirtualBox に無料の Windows を合法的にインストールする方法
- Linux Mint 18: Wine の導入
- Linux Mint 18: Wine で「DVD Shrink」をインストール
- Linux Mint 18: Wine で「DVD Decrypter」をインストール
- Linux Mint 19.x: 5ch専ブラ「Jane Style」は Wine で普通に使える
- Linux Mint 18 : 「winetricks」を使って「Adobe Air」をインストールし「はがきデザインキット」を使う
- Linux Mint 19.x: 画像縮小 Adobe AIR アプリ「縮小専用」を使う
- Linux Mint 18: 「PlayOnLinux」を使い「Amazon Kindle」をインストールする
- Linux Mint 18.3 : ハイレゾ音源対応 Windows ユーザーに人気の「Foobar2000」をインストール & 文字化け対策
- Mint 19.x : 画像ビューア「IrfanView」を簡単にインストールして使う
- Linux Mint 18.3 : Windows アプリを Flatpak 形式でパッケージングするプロジェクト「winepak」
2022.09.19 Monday
2020.07.05 Sunday
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"これで :greet/初音ミク/ と入力したあと、テキストを選択し、
replace: "$0$様¥n拝啓¥n新禄の候、ますますご清栄のこととお喜び申し上げます。"
passive_only: true
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"> と展開されたりします。
espanso hub - The Official espanso Package Repository
Browse Packages
Find the perfect packages to expand espanso capabilities
参考元: Linux Uprising Blog
| Linux |
2022.09.19 Monday
Show some apps list:
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 更新は不定期です。
- Mint 18.3 : オススメ Python IDE 8 選
- Mint 18.3 : Python ではじめるコマンドラインツールの作成とパッケージ化
- Linux ユーザーなら Git を活用しよう
- Shell :シェルスクリプトを組もう! Zenity 編
- Shell :シェルスクリプトを組もう! Dialog 編