モブ沢工房

プログラミングとかLinux関連(特にOSSのグラフィックツール関連)とかレトロゲームとか3Dプリンタやら日曜大工等、色々。

geditのキーバインド(キーボードショートカット)の変更について

この記事はfc2から引っ越した記事です

最近、いろいろ見直しを計っておりまして、その中でもプログラム言語について考えています。
vita買ったこともありPSMも面白そうだな、と考えると、やはりC#に習熟しておいたほうがいいかなと。
そうなるとLinuxでは、monoです。
IDEMonoDevelopもかなりの出来栄えで、数年前はまるでダメだったデバッグも既に統合されており、かなり楽ちんに開発できるようになっているのです。
でも、逆においらの方は従来からのPC-UNIX的な風習にも慣れ、ターミナル出してコマンドラインのデバッガも便利だなあと思えているのですがね…こっちが慣れたらそれかよ…という(苦笑)

ともかく、使えるものは全て使おうということで、C#、あとFreePascalのLazarusもなかなかよいのです。Lazarusは残念ながらエディタで日本語が入力できませんが…表示するのと貼り付けるのはokです。ここを自分でパッチ当てて治せるぐらいの技術力が欲しい…のですがw Linuxではありとあらゆる手段が使える感じなのが実に好ましい。

そんなこんなでvimばかりに執着しているのもどうか?と思えてきて、windowsライクなGUIエディタにも馴染んでおこうと思いました。今ならgeditなんかがかなり良い感じです。様々なプラグインで単語補完やブックマークも追加できます。

しかし…残念ながらgeditではデフォルトでキーバインドを変更するオプションがないのですね。

いつも通り前置きが長かったですが、そこでgeditのキーバインド変更についての話です。
以下、キーボードショートカットをキーバインドという表記に統一して書きます。

検索してすぐに見つかったのはキーバインド変更プラグインですが、残念ながら既にリンク先が消滅しておりました。
さらにgithubのgedit-accel-editorも見つかり、さっそくインストールしてみましたが、何故かおいらのubuntu 12.04LTSのgedit3.4.1 ではアクティブ化しようとすると通行止めアイコンに変化して機能してくれないのです。

仕方なしにさらに調べたらこのような記事が。
http://superuser.com/questions/174267/can-you-do-keyboard-shortcuts-in-gedit

Yes, you can fix these things... if you don't mind using another (any) other text editor to do it. Note that when you make these changes, gedit must not even be running, because ~/.config/gedit/accels gets overwritten every time you exit gedit! Don't worry--once you change the shortcuts, the file will get rewritten harmlessly with your changes, though the lines may be rearranged.



手短に意訳しますと

・変更は~/.config/gedit/accelsを書き換えることで簡単に出来る。専用プラグインの必要性はない。 ・geditが起動していてはいけない。終了時に~/.config/gedit/accelsファイルを現在の設定で毎回書き戻してしまうからだ。(nanoやgvimなど別エディタで編集する必要がある) ・一度修正してから起動すれば、その設定が保持され終了時に書き出されるようになるので心配はいらない
とのことです。

ちなみにこのサイトのコメントでは~/.config/gtk-3.0/gtk.cssの書き換えが必要なようになっていましたが、おいらがやった場合は別に必要ありませんでした。多分、グローバルにgtkキーバインドを変更する場合に必要な処理と思われます。というか、どう書きなおせばいいのかわかりませんでしたw

実際に書き換えるのはホームディレクトリの.config/gedit/accelsファイルで、これをたとえば

(gtk_accel_path "<Actions>/GeditBookmarksPluginActions/ToggleBookmark" "<Primary>b")



(gtk_accel_path "<Actions>/GeditBookmarksPluginActions/ToggleBookmark" "F2")

というようにすると、F2キーでブックマークを置けるようになります。念の為申し上げておきますとブックマーク使用にはubuntu 12.04ではgedit-pluginsパッケージを入れる必要があります。

ここで注意しなければならないのは、「デフォルトの設定はすべて先頭の;でコメントアウトされている」点です。

ただ単にキーバインドの部分だけを書きなおすと、コメントアウトされたものを書きなおすことになり設定は反映されないので注意しましょう。コメントアウトを解除する必要があります。

最近、いろいろ見直しを計っておりまして、その中でもプログラム言語について考えています。
vita買ったこともありPSMも面白そうだな、と考えると、やはりC#に習熟しておいたほうがいいかなと。
そうなるとLinuxでは、monoです。
IDEMonoDevelopもかなりの出来栄えで、数年前はまるでダメだったデバッグも既に統合されており、かなり楽ちんに開発できるようになっているのです。
でも、逆においらの方は従来からのPC-UNIX的な風習にも慣れ、ターミナル出してコマンドラインのデバッガも便利だなあと思えているのですがね…こっちが慣れたらそれかよ…という(苦笑)

ともかく、使えるものは全て使おうということで、C#、あとFreePascalのLazarusもなかなかよいのです。Lazarusは残念ながらエディタで日本語が入力できませんが…表示するのと貼り付けるのはokです。ここを自分でパッチ当てて治せるぐらいの技術力が欲しい…のですがw Linuxではありとあらゆる手段が使える感じなのが実に好ましい。

そんなこんなでvimばかりに執着しているのもどうか?と思えてきて、windowsライクなGUIエディタにも馴染んでおこうと思いました。今ならgeditなんかがかなり良い感じです。様々なプラグインで単語補完やブックマークも追加できます。

しかし…残念ながらgeditではデフォルトでキーバインドを変更するオプションがないのですね。

いつも通り前置きが長かったですが、そこでgeditのキーバインド変更についての話です。
以下、キーボードショートカットをキーバインドという表記に統一して書きます。

検索してすぐに見つかったのはキーバインド変更プラグインですが、残念ながら既にリンク先が消滅しておりました。
さらにgithubのgedit-accel-editorも見つかり、さっそくインストールしてみましたが、何故かおいらのubuntu 12.04LTSのgedit3.4.1 ではアクティブ化しようとすると通行止めアイコンに変化して機能してくれないのです。

仕方なしにさらに調べたらこのような記事が。
http://superuser.com/questions/174267/can-you-do-keyboard-shortcuts-in-gedit

Yes, you can fix these things... if you don't mind using another (any) other text editor to do it.

Note that when you make these changes, gedit must not even be running, because ~/.config/gedit/accels gets overwritten every time you exit gedit! Don't worry--once you change the shortcuts, the file will get rewritten harmlessly with your changes, though the lines may be rearranged.



手短に意訳しますと

・変更は~/.config/gedit/accelsを書き換えることで簡単に出来る。専用プラグインの必要性はない。 ・geditが起動していてはいけない。終了時に~/.config/gedit/accelsファイルを現在の設定で毎回書き戻してしまうからだ。(nanoやgvimなど別エディタで編集する必要がある) ・一度修正してから起動すれば、その設定が保持され終了時に書き出されるようになるので心配はいらない
とのことです。

ちなみにこのサイトのコメントでは~/.config/gtk-3.0/gtk.cssの書き換えが必要なようになっていましたが、おいらがやった場合は別に必要ありませんでした。多分、グローバルにgtkキーバインドを変更する場合に必要な処理と思われます。というか、どう書きなおせばいいのかわかりませんでしたw

実際に書き換えるのはホームディレクトリの.config/gedit/accelsファイルで、これをたとえば

(gtk_accel_path "<Actions>/GeditBookmarksPluginActions/ToggleBookmark" "<Primary>b")



(gtk_accel_path "<Actions>/GeditBookmarksPluginActions/ToggleBookmark" "F2")

というようにすると、F2キーでブックマークを置けるようになります。念の為申し上げておきますとブックマーク使用にはubuntu 12.04ではgedit-pluginsパッケージを入れる必要があります。

ここで注意しなければならないのは、「デフォルトの設定はすべて先頭の;でコメントアウトされている」点です。

ただ単にキーバインドの部分だけを書きなおすと、コメントアウトされたものを書きなおすことになり設定は反映されないので注意しましょう。コメントアウトを解除する必要があります。