Edited at

XVimでXcodeのエリア周りの操作もvimにする

More than 3 years have passed since last update.


はじめに

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よりショートカットを削除します


参考サイト