GTK の環境に対して定義できる設定のうち、[cci]gtk-key-theme-name[/cci] というものがあって、主にテキスト入力系のウィジェットのキーバインディングを変更することができる。で、これを [cci]Emacs[/cci] にすると、どのアプリケーションでもまあだいたいそんな感じの振る舞いをしてくれる。
これらのバインディングは [cci]/usr/share/themes/Emacs/[/cci] 以下の gtk2.0 と gtk3.0 用のそれぞれのファイルで定義される。[cci]gtk-key-theme-name[/cci] 自体はどこで定義するのかと言うと……実は複雑すぎてよく分からないのだが、Xfce であれば設定マネージャから設定エディタを呼び出して xsettings チャネルの Gtk -> KeyThemeName プロパティの値を Emacs にすればいい。
ただ、実に不思議なことがある。Chrome の各種のテキスト入力系ウィジェットも当然この影響を受けるのだけど、KeyThemeName プロパティを空に戻してもどういうわけか Emacs バインディングが残ったままになる。他のアプリケーションからは Emacs バインディングはスパッと消え失せるのだけど。Chrome 自身が独自にどこかにキャッシュしているの?
それと、うちの環境だと ^P ^N の代わりに ^K ^J でキャレットが上下方向に移動する。多分これ、自分でそうなるように定義したと思うのだけど(/usr/share/themes/Emacs/ 以下のファイルにはそういう定義はないので)、ホームのどこでそれを定義したのか全然覚えてない。定義したのかどうかも覚えてない。記憶力の危険が危ない。