̄...の記事になります。アホか*1153日目は@deris0126さんでvimでキーマッピングする際に考えたほうがいいことでした。序文さてあなたは少なからずXサーバをkillする羽目に陥った事があるはずです。実は、Vimは端末版であっても(もしXサーバが起動している場合は)クリップボードを取得するためにXサーバと通信しているため、Xサーバが落ちると端末で動いているVimも落ちます。スワップファイルからバッファの内容はサルベージできますが、screen上で動かしていたVimがXの巻き添えになるのは何か納得いかないものがあります。Xサーバと勝手に通信させない以下の設定を.vimrcに追加します。clipboard+=exclude:.*endifどのような意味でしょうか?日本語helpから引用します。マッチするパターンを定義する。パターンがマッチすると、Xサーバとの通信がなされなくなる。このオプションは以下の場合に便利である。Vimをコンソールで使用しているとき。コンソールではXサーバと通信してほしくないが、ターミナルエミュレータ上では通信してほしいとき。コンソールでVimを使用している最中にXサーバが終了させられ、Vimをkillせざるを得ないかもしれないとき。Xサーバと全く通信しないようにするには、次のようにする。>exclude:.*つまり、「もし端末版で起動していたら」「Xサーバと全く通信しない」という設定です。これを.vimrcに入れておくことによって、不意にXサーバが落ちてしまっても端末で起動しているVimは落ちません。Xの影響を受けずにクリップボードを取得する代わりにクリップボードの取得にはfakeclip.vimというVimプラグインを使います。今回のように「クリップボード機能は使えるが、Xサーバとの接続はあえて無効にした上でクリップボードの内容を取得したい」というケースは考えられていませんでした。そのため、「クリップボード機能が使える→必要ないのでクリップボード関連のデフォルトキーマッピングは提供しない」となっていました。一応キーマッピング自体は定義されているので一つ一つ手動で定義すれば解決しますが、とても面倒です。Requestを投げてみました。マージされていないので、使うには私のリポジトリのvariable-to-provide-clipboard-mappingsブランチをcheckoutして次の設定を追加してください。1参考に私の設定も晒してみます。"}}}「s:has_plugin()」「s:is_win」の2つの定義がないためこのままでは使えないですが、やってることとしてはvim-fakeclipプラグインがインストールされていてUnix系であり、端末版のVimなら冒頭で挙げたclipboardの設定とfakeclipプラグインの設定をしています。Xなどの環境も考慮するなら2の条件をさらに複雑にする必要があります。私はMacは使っていないのでWindowsかUnix系かを考慮すればXサーバの有無は判定できるのでこのようになっています。「executable('X')」としてPATHにXのバイナリが含まれてるかで判定した方がいいかもしれません。ノーマルモードに移りたい。便利にした月ごとはてなブログをはじめよう!tyruさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。