XcodeでCtrl-Xを押した時に特殊な文字が入るのを防ぐ

長年(?)手を煩わせてくれた問題がやっと解決しました。

iOS、Mac用のアプリを作成するときにほぼ必ず使う Xcode ですが、この Xcode 上で「Ctrl-X, Ctrl-S」などと入力すると変な記号が入ってしまい、ビルドに失敗するという問題がありました。

この問題の解決方法を記載します。

環境

  • Xcode 9.2
  • macOS High Sierra 10.13.2

現象

Xcode のエディタで「Ctrl-X, Ctrl-S」などと入力すると、見えない文字が入力されてしまい、ビルドに失敗するようになります。

↓のような感じで「Invalid character in source code」とビルドエラーになります。カーソル位置に Xcode 上では見えない文字が入力されている状態になっています。

この文字は、XcodeでEditor → Show invisibles としても表示されません。やっかいすぎる。

該当箇所をコピー&ペーストしてみると、確かに変な文字が入っています。↓はVSCode にペーストした時の画像。U+0013が入力されているようです。

そもそも何故 Ctrl-X とか押すのかと言うと、Emacs のキーバインドに対する慣れからですね。Xcode で Emacs っぽいキーバインドを使う方法は以前 Qiita に書いたのでそちらを参照ください。

解決方法

Xcode のキーバインドの設定で、「Select to Mark」「Swap with Mark」のキーバインドを解除します。

この二つは Ctrl-X で始まる 2ストロークのキーがバインドされているのですが、どうもこれが本現象に関係しているらしく、この二つを解除したところ症状が発生しなくなりました。

(そもそも Xcode のキーバインドで 2ストロークの設定とかどうやってやるんだろう?)

根本的な原因は、よくわかって無いです。ただ、このキーバインドは私は使わないので、解除して特に困ってないので解除しました。

おわりに

小ネタなんですが、あらゆるエディタのキーバインドをEmacsに寄せてるので、すごく煩わしかったです。

また一歩快適にコード書けるようになりました。


最後まで読んでいただきありがとうございます。 このブログを「いいな」と感じていただけましたら、Twiter にてフォローいただけるとうれしいです。ブログ更新情報などもお届けします。



この記事をシェアする




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA