watari開発 – Advent201918 –
stage18: xvim導入
儚くも破れ去ってしまった開発環境整備。しかし、どうしても生のままのxcodeは使いづらくて、それだけで開発中の体力の持っていかれ方が違う。ということでなくなくxvimを入れよう。仕方ない。
xvim導入
https://github.com/XVimProject/XVim2#install
これに従ってやってみる。
署名する
xcode8以降からアップルのセキュリティ強化のためにpluginの仕組みが変わったらしい。で、十分なapiが提供されていないから、xvimからみると機能不足で正規のpluginとしては作れない。なので、xvimを入れるためには迂回して古いpluginのようにいれないといかん。
とのこと。
で、その方法がxcodeに自己署名して使う。とのこと
なのでまずは署名するところから。
https://github.com/XVimProject/XVim2/blob/master/SIGNING_Xcode.md#signing-xcode
に載っている。
- xcodeを閉じます
- キーチェーンアクセスを開きます
- 証明書を作成します
- 名前はなんでもいいが、コード署名タイプで作成します
注意書きも載っていて、ここで作った証明書の期限が一年なので一年ごとに更新しないといけない。 - ターミナルを開いて
sudo codesign -f -s XcodeSigner /Applications/Xcode.app
ちょっと待つ - xvimのrepositoryをcloneして
git clone https://github.com/XVimProject/XVim2.git
- xcode-selectコマンドがちゃんとxcodeを向いてるか確認
> xcode-select -p # /Applications/Xcode.app/Contents/Developer
- ここでbranchとリリースを確認してxvimをcheckout
今のxcodeのバージョン
11.3 である。
なのでmasterで良さそう。 - make
cd XVim2 make # ... # ** BUILD SUCCEEDED **
~/.xvimrc
を作成- xcodeを起動する
これを聞かれるのでLoad Bundle
を選択 - Xcodeを開いてMenu > EditにXVimがあればOK
xvimrcの設定
右も左も分からんけど何を設定するかな。漁るか。
https://github.com/XVimProject/XVim2/blob/master/Documents/FeatureList.md
ここに機能一覧があった。
https://qiita.com/MasahiroSakoda/items/6fd2c17493f4e6360b3b
searchやignorecaseなど。
https://github.com/ajh17/dotfiles/blob/master/.xvimrc
結構設定している方のやつ。
https://qiita.com/zebult/items/d2393526e73e01cdac94
ここにも載っている。
ある程度できそうだな。ということで設定
my .xvimrc
set incsearch
set hlsearch
set ignorecase
set smartcase
set expandtab
set clipboard=unnamed
" keymap settings
nnoremap s <Nop>
nnoremap sj <C-w>j
nnoremap sk <C-w>k
nnoremap sl <C-w>l
nnoremap sh <C-w>h
nnoremap sJ <C-w>J
nnoremap sK <C-w>K
nnoremap sL <C-w>L
nnoremap sH <C-w>H
nnoremap ss <C-w>s
nnoremap sv <C-w>v
nnoremap sx <C-w>q
nnoremap st :xcmenucmd Tab<CR>
nnoremap sn :xcmenucmd Show Next Tab<CR>
nnoremap sp :xcmenucmd Show Previous Tab<CR>
" comment out
nnoremap gcc :xcmenucmd Comment Selection<CR>
vnoremap gc :xcmenucmd Comment Selection<CR>
" navigator
nmap <C-h> :xcmenucmd Open Quickly...<CR>
nmap <C-f> :xccmd showInFinder<CR>
" Toggle Toolbars
nmap <C-n><C-n> :xccmd toggleNavigatorsVisibility<CR>
nmap <C-n>1 :xcmenucmd Show Project Navigator<CR>
nmap <C-n>2 :xcmenucmd Show Source Control Navigator<CR>
nmap <C-n>3 :xcmenucmd Show Symbol Navigator<CR>
nmap <C-n>4 :xcmenucmd Show Find Navigator<CR>
nmap <C-n>5 :xcmenucmd Show Issue Navigator<CR>
nmap <C-n>6 :xcmenucmd Show Test Navigator<CR>
nmap <C-n>7 :xcmenucmd Show Debug Navigator<CR>
nmap <C-n>8 :xcmenucmd Show Breakpoint Navigator<CR>
nmap <C-n>9 :xcmenucmd Show Report Navigator<CR>
nmap <C-j><C-j> :xccmd toggleDebuggerVisibility<CR>
nmap <C-l><C-l> :xccmd toggleInspectorAreaVisibility<CR>
nmap <C-l>1 :xcmenucmd Show File Inspector<CR>
nmap <C-l>2 :xcmenucmd Show History Inspector<CR>
nmap <C-l>3 :xcmenucmd Show Quick Help Inspector<CR>
nmap <C-j>n :xccmd moveKeyboardFocusToNextArea<CR>
nmap <C-j>p :xccmd moveKeyboardFocusToPreviousArea<CR>
解説と動画
上の方にあるsetは好きなように設定。
s
系はtabの操作みたいにしてみた。
ヘルプに載っているように中で画面を切ることはできないので、AssitantViewへのjumpを sl
とかで切り替えるように。
st
あたりはTabの操作だ。 st
で追加、 sn
で次のタブ、 sp
で前のタブ。これは今のvimでもそんな感じ。閉じるときは :q
。
次は gcc
あたり。これはコメントアウト。Visual Modeのときは範囲のコメントアウトをtoggleしてくれる。
Ctrl + h
は fuzzy searchみたいな。ファイルを適当に探す時に。
Ctrl + f
は finderで開く。
あとはwindow内の表示切り替え。
Ctrl + n
を二回押すと、左のwindowの表示/非表示を切り替える。Ctrl + n + 1,2,3,4,...
で
これを順番に切り替える。
Ctrl + j
を二回で下部のDebug Areaの表示/非表示の切り替え。
Ctrl + l
で右の情報パネルの表示/非表示の切り替え。これがそこらへんに落ちているやり方だと微妙にできなくて、
:xccmd toggleUtilitiesVisibility
これは :xccmd toggleInspectorAreaVisibility
じゃないとダメだった。
動画
割といい感じじゃなかろうか。
次回は
機能実装に戻ろう!
- 前の記事
watari開発 – Advent201917 – 2019.12.17
- 次の記事
watari開発 – Advent201919 – 2019.12.19