概要
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からソースをクローンする
$ 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の設定がしてあればおっけー
" 行番号表示
set number
" シンタックス有効
syntax enable
" タブ、空行、改行、全角スペースの可視化
set list
set listchars=tab:>.,trail:・,extends:>,precedes:<,nbsp:%
function! ZenkakuSpace()
highlight ZenkakuSpace cterm=reverse ctermfg=DarkMagenta gui=reverse guifg=DarkMagenta
endfunction
" インデント設定
set autoindent
set tabstop=4
set shiftwidth=2
set expandtab
" infoファイル設定
set viminfo=
" undoファイル設定
set noundofile
" 入力補完
inoremap jj <ESC>
inoremap <C-j> <ESC>
" Escの2回押しでハイライト消去
nmap <ESC><ESC> ;nohlsearch<CR><ESC>
" dein.vim設定
let g:cache_home = $XDG_CACHE_HOME
let g: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 Download
if !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 settings
let g:dein#install_max_processes = 16
let g:dein#install_progress_type = 'title'
let g:dein#install_message_type = 'none'
let g:dein#enable_notification = 1
if 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})
endif
call dein#end()
call dein#save_state()
endif
if has('vim_starting') && dein#check_install()
call dein#install()
endif
" }}}
" file type setting
au BufRead,BufNewFile,BufReadPre *.coffee set filetype=coffee
au BufRead,BufNewFile,BufReadPre *.launch set filetype=xml
au BufRead,BufNewFile,BufReadPre *.test set filetype=xml
au BufRead,BufNewFile,BufReadPre *.xacro set filetype=xml
au BufRead,BufNewFile,BufReadPre *.world set filetype=xml
au BufRead,BufNewFile,BufReadPre *.urdf set filetype=xml
filetype plugin indent on