概要
MacOSX向けにneovimのGUI環境を構築する
terminalのvimもいいけどアプリの切り替えをタブでシャカシャカやってる自分にとっては
GUIで別アプリとして立ち上がっているほうが扱いやすい
OSXのGUI vimはKaoriYaさんっていう印象だったけどneovimはやってないので探してみると
Githubで公開している人がいたので使ってみる
ただ使えればいいよって言う場合はbrewで入れればいい!
$ brew tap neovim/neovim
$ brew tap rogual/neovim-dot-app
$ brew install neovim-dot-app
$ brew linkapps neovim-dot-app
手順
- githubからソースをクローンする
https://github.com/rogual/neovim-dot-app
$ git clone https://github.com/rogual/neovim-dot-app
- makeする
$ cd neovim-dot-app/
$ make
VIM=/usr/local/Cellar/neovim/0.2.0/share/nvim NVIM=/usr/local/bin/nvim scons -Q
/bin/sh: scons: command not found
make: *** [all] Error 127
通らない(^p^)
sconsコマンドをインストール
- 調べると次世代のmake的な?知らなかった
$ brew install scons
その後、再度makeすると無事に通った
make installでインストール
$ sudo make install
- make install後は普通にlaunch padにneovimという名称で追加されている
カスタマイズ
- デフォルトでは ~/.config/nvim/init.vimが読み込まれるので普通にnvimの設定がしてあればおっけー
" 行番号表示setnumber" シンタックス有効syntax enable
" タブ、空行、改行、全角スペースの可視化setlistsetlistchars=tab:>.,trail:・,extends:>,precedes:<,nbsp:%
function! ZenkakuSpace()highlight ZenkakuSpace cterm=reverse ctermfg=DarkMagenta gui=reverse guifg=DarkMagenta
endfunction" インデント設定setautoindentsettabstop=4setshiftwidth=2setexpandtab" infoファイル設定setviminfo=" undoファイル設定setnoundofile" 入力補完inoremap jj <ESC>inoremap<C-j><ESC>" Escの2回押しでハイライト消去
nmap <ESC><ESC> ;nohlsearch<CR><ESC>" dein.vim設定letg:cache_home = $XDG_CACHE_HOME
letg:config_home = $XDG_CONFIG_HOME
" dein {{{let s:dein_cache_dir =g:cache_home . '/dein'" reset augroup
augroup MyAutoCmd
autocmd!
augroup END
if&runtimepath!~# '/dein.vim'let s:dein_repo_dir = s:dein_cache_dir . '/repos/repos/github/' " Auto Downloadif!isdirectory(s:dein_repo_dir)call system('git clone https://github.com/Shougo/dein.vim ' . shellescape(s:dein_repo_dir))endif " dein.vim をプラグインとして読み込む
execute 'set runtimepath^=' . s:dein_repo_dir
endif" dein.vim settingsletg:dein#install_max_processes =16letg:dein#install_progress_type ='title'letg:dein#install_message_type ='none'letg:dein#enable_notification =1if dein#load_state(s:dein_cache_dir)call dein#begin(s:dein_cache_dir)let s:toml_dir =g:config_home . '/nvim/dein'call dein#load_toml(s:toml_dir . '/plugins.toml', {'lazy': 0})call dein#load_toml(s:toml_dir . '/lazy.toml', {'lazy': 1})if has('nvim')call dein#load_toml(s:toml_dir . '/neovim.toml', {'lazy': 1})endifcall dein#end()call dein#save_state()endifif has('vim_starting')&& dein#check_install()call dein#install()endif" }}}" file type settingauBufRead,BufNewFile,BufReadPre *.coffee setfiletype=coffee
auBufRead,BufNewFile,BufReadPre *.launch setfiletype=xml
auBufRead,BufNewFile,BufReadPre *.test setfiletype=xml
auBufRead,BufNewFile,BufReadPre *.xacro setfiletype=xml
auBufRead,BufNewFile,BufReadPre *.world setfiletype=xml
auBufRead,BufNewFile,BufReadPre *.urdf setfiletype=xml
filetype plugin indent on