はじめに
XVimでXcodeのエリア等で使うショートカットもVimで使っているものにしようと思います
XVim導入
導入法に関しては情報が点在しているため割愛します。
基本操作
普段自分が愛用しているキーバインドが全て揃っていてほぼ文句無しです。
モード, 移動, マーク, マクロ等
詳しくは公式ドキュメントに一覧があります。
Xcode操作
Xcodeのエリア周りや実行等のショートカットをいつものVimのキーバインドと同様にするができます。
よく使いそうな例をあげておきます。
| コマンド | 動作 |
|---|---|
| :run | Run |
| :xcmenucmd Build | Build |
| :xcmenucmd Clean | Clean |
| :xccmd openQuickly | ファイル名入力してファイル開く |
| :xhelp | カーソル上の単語のドキュメントを開く |
| :xcmenucmd Jump to Next Issue | エラーへ飛ぶ(次) |
| :xcmenucmd Jump to Previous Issue | エラーへ飛ぶ(前) |
| :xcmenucmd Fix Next Issue | エラー修正する(次) |
| :xcmenucmd Fix Previous Issue | エラー修正する(前) |
| :xccmd selectNextTab | タブ移動(次) |
| :xccmd selectPreviousTab | タブ移動(前) |
| :ncounterpart | headerファイルと入れ替え |
| :xccmd toggleBreakpointAtCurrentLine | ブレイクポイントのトグル |
| :xccmd commentAndUncommentCurrentLines | コメントのトグル |
| :xccmd findSelectedTextInWorkspace | カーソルの乗っている単語をgrep検索する |
| :xccmd toggleNavigatorsVisibility | ナビゲーションエリアの表示/非表示 |
| :xccmd toggleDebuggerVisibility | デバッグエリアの表示/非表示 |
| :xccmd toggleToolbarShown | ツールバーの表示/非表示 |
| :xccmd toggleUtilitiesVisibility | ユーティリティエリアの表示/非表 |
設定ファイル
.vimrc同様、ホームに.xvimrcを置いて書きます
xcodeに特化した部分を晒しておきます(ほぼ上記の表のもの)
set incsearch
set hlsearch
nnoremap sn :xccmd selectNextTab<Cr>
nnoremap sp :xccmd selectPreviousTab<Cr>
nnoremap <C-o> :xccmd goBackInHistoryByCommand<Cr>
nnoremap <C-i> :xccmd goForwardInHistoryByCommand<Cr>
nnoremap <C-n> :xcmenucmd Jump to Next Issue<Cr>
nnoremap <C-p> :xcmenucmd Jump to Previous Issue<Cr>
nnoremap <C-N> :xcmenucmd Fix Next Issue<Cr>
nnoremap <C-P> :xcmenucmd Fix Previous Issue<Cr>
nnoremap <C-h> :xhelp<Cr>
nnoremap <C--><C--> :xccmd commentAndUncommentCurrentLines<Cr>
nnoremap <Space>r :run<CR>
nnoremap <Space>b :xcmenucmd Build<Cr>
nnoremap <Space>c :xcmenucmd Clean<Cr>
nnoremap <Space>e :xccmd openQuickly<Cr>
nnoremap <Space>a :ncounterpart<Cr>
nnoremap <Space><Space> :xccmd toggleBreakpointAtCurrentLine<Cr>
nnoremap <Space>F viw:xccmd findSelectedTextInWorkspace<Cr>
nnoremap <Space>h :xccmd toggleNavigatorsVisibility<Cr>
nnoremap <Space>j :xccmd toggleDebuggerVisibility<Cr>
nnoremap <Space>k :xccmd toggleToolbarShown<Cr>
nnoremap <Space>l :xccmd toggleUtilitiesVisibility<Cr>
nnoremap <Space>a :xccmd toggleToolbarShown<Cr>:xccmd toggleDebuggerVisibility<Cr>:xccmd toggleNavigatorsVisibility<Cr>:xccmd toggleUtilitiesVisibility<CR>
公式の提供コマンドの追加方法
こちらで提供されているものを使う方法
- Title: 概要
- Action: xccmdを付けて実際に入力する
例:
Title:Show Standard Editor Action:changeToStandardEditor:
Standard Editorを表示するコマンド
:xccmd changeToStandardEditor
ショートカットがXcodeと競合した場合
Xcodeが優先されます。
Xcodeのデフォに合わせるよりVimの操作に合わせたいので
Preferences > Key Bindingsよりショートカットを削除します
参考サイト
- XVim(公式): https://github.com/XVimProject/XVim
- XVimでのVim操作可能キー一覧(公式): https://github.com/XVimProject/XVim/blob/master/Documents/Users/FeatureList.md
- XVimコマンド一覧(公式): https://github.com/XVimProject/XVim/blob/master/Documents/Developers/MenuActionList.txt
- xvimrc参考: https://github.com/dengcqw/XVim-config-file/blob/master/xvimrc