はじめに
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に特化した部分を晒しておきます(ほぼ上記の表のもの)
.xvimrc
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