Sumlime TextからFilterPipesを使ってワンキーでDeepLを呼び出す

先日 DeepLを呼びだすPythonコードを作ってSublime TextのプラグインFilterPipesを使って呼び出していましたが、結構便利なのでキーバインドすることにしました。
DeepLを呼びだすコマンドを登録する
先日サンプルコードを作ったDeepL APIを使った翻訳サンプルコードの記事の中で次のように書いていたら、「毎回コマンド打つの面倒」というフィードバックをいただきました。
そんなことをやってくれるプラグインとして、 FilterPipes というものがあったので早速導入してためしてみました。
Sublime Textのプラグイン FilterPipesはオリジナルのフィルターを作ってコマンド登録できます。キーバインドすればワンキーで呼び出せます。
まず、Sublime Text上からShift+Cmd+Pでコマンドパレットを呼び出し、 FilterPipes: My Custom Filters Pluginを選択します。するとサンプルのカスタマイズしたFilterPipesのプラグインを生成されます。
生成されたDefault.sublime-commandsを次のよう編集します。pythonのパスは自分の環境で調べて合わせて変更してください。deepl.pyも配置したパスに合わせて変更してください。次の例ではホームディレクトリーの~/binに配置しています。環境変数を参照できないようなので、絶対パスをしていします。
[
{
"caption": "FilterPipes: DeepL",
"command": "filter_pipes_process",
"args": {
"command": ["/Users/hogehoge/.asdf/shims/python", "/Users/hogehoge/bin/deepl.py",
"-t", "j"]
}
},
]
これで毎回Pythonを呼びだすコマンドをタイプしなくても Shift+Cmd+PMでコマンドパレットからFilterPipes: DeepLを呼び出せば同じことができるようになります。
FilterPips: DeepLをキーバインドする
キーに機能をバインドしたい場合は、 Default.sublime-keymapを編集しましょう。次の例では、Cmd+M Jに「英語→日本語」を、Cmd+M Eに「日本語→英語」の機能を割り当てています。
[
/*
DeepL(英語から日本語)
*/
{
"keys": ["super+m","j"],
"command": "filter_pipes_process",
"args": {
"command": [
"/Users/yostos/.asdf/shims/python", "/Users/yostos/bin/deepl.py",
"-t", "j"]
}
},
/*
DeepL(日本語から英語)
*/
{
"keys": ["super+m","e"],
"command": "filter_pipes_process",
"args": {
"command": [
"/Users/yostos/.asdf/shims/python", "/Users/yostos/bin/deepl.py",
"-t", "e"]
}
}
]
いろいろ捗ります。
関連記事
- 2023-05-09 21:54 SublimeText上でDeepLを呼び出す
- 2023-05-04 21:08 Sublime Text の引っ越し
- 2021-06-16 23:25 Sublime Text 4リリース
- 2018-01-08 11:30 SublimeText3、再び
- 2017-03-25 11:10 NeoVimの導入