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 にてフォローいただけるとうれしいです。ブログ更新情報などもお届けします。
Follow @ryuta461
この記事をシェアする