atom user が neovim に移行してみました。
なぜ?? Vimerに?!
最近までatom userの僕がなぜneovimを使おうと思ったのか...
今までatomでの開発に事足りていたが最近、ラズパイや仮想サーバーを借りて開発するるようになったため、terminalでコードを書くことが増えてきました。
vimでよくない??
そー言う方も少なくないと思います。なのでneovimのいいところ、メリットを上げていきたいと思います。
-
強力なデフォルト
-
truecolor や bracketed paste のようなモダンなターミナル機能
-
組み込みターミナルエミュレータ(
:terminal
で呼び出せる) -
早い...です
(neovim
のいいところメリットは コメントにあるようにVim
でも対応済みのようです)
使うっきゃないですね👍
それでは早速インストールから始めます
Install
mac
brew install neovim/neovim/neovim
ubuntu
sudo apt-get install software-properties-common
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:neovim-ppa/stable
sudo apt-get update
sudo apt-get install neovim
Setting
neovimの設定ファイルの場所はデフォルトは $HOME/.config/nvim/init.vim
です。ここに設定を書き込んでいきます。
Contents
今、僕が設定している、最低限設定
Set
~/.config/nvim/init.vim
set t_Co=256 "screen が 256色"
set termguicolors "True Colorを使用"
set number "桁表示"
set backspace=indent,eol,start
set mouse=a "マウス有効"
set laststatus=2 "ステータスラインの表示"
set list "スペースの可視化"
set listchars=tab:»\ ,trail:-,extends:»,precedes:«,nbsp:% "space 対応"
set clipboard=unnamed "clipbordと対応"
set ruler "カーソルが何行目の何列目に置かれているかを表示"
set autoindent "改行時に前の行のインデントを継続する"
set tabstop=2 "画面上でタブ文字が占める幅"
set softtabstop=2 "連続した空白に対してタブキーやバックスペースキーでカーソルが動く幅"
set shiftwidth=2 "自動インデントでずれる幅"
set expandtab "タブ入力を複数の空白入力に置き換える"
set cursorline "横のカーソルライン表示"
set cursorcolumn "縦のカーソルライン表示"
set smartindent "改行時に入力された行の末尾に合わせて次の行のインデントを増減する"
change command
~/.config/nvim/init.vim
inoremap <silent> jj <ESC> "escape insert mode
vim-go
~/.config/nvim/init.vim
vim-go
let g:go_template_autocreate = 0
let g:go_fmt_command = "goimports"
let g:go_highlight_functions = 1
let g:go_highlight_methods = 1
let g:go_highlight_structs = 1
let g:go_highlight_operators = 1
let g:go_term_enabled = 1
let g:go_highlight_build_constraints = 1
let g:deoplete#sources#go#align_class = 1
let g:deoplete#sources#go#sort_class = ['package', 'func', 'type', 'var', 'const']
let g:deoplete#sources#go#package_dot = 1
quick-run
~/.config/nvim/init.vim
quick-run
let g:quickrun_config = {'*': {'hook/time/enable': '1'},}
dein settings
~/.config/nvim/init.vim
" dein settings {{{"
" dein自体の自動インストール"
let s:cache_home = empty($XDG_CACHE_HOME) ? expand('~/.cache') : $XDG_CACHE_HOME
let s:dein_dir = s:cache_home . '/dein'
let s:dein_repo_dir = s:dein_dir . '/repos/github.com/Shougo/dein.vim'
if !isdirectory(s:dein_repo_dir)
call system('git clone https://github.com/Shougo/dein.vim ' . shellescape(s:dein_repo_dir))
endif
let &runtimepath = s:dein_repo_dir .",". &runtimepath
" プラグイン読み込み&キャッシュ作成"
let s:toml_file = fnamemodify(expand('<sfile>'), ':h').'/dein.toml'
if dein#load_state(s:dein_dir)
call dein#begin(s:dein_dir)
call dein#load_toml(s:toml_file)
call dein#end()
call dein#save_state()
endif
"不足プラグインの自動インストール"
if has('vim_starting') && dein#check_install()
call dein#install()
endif
"}}}"
nvim term
~/.config/nvim/init.vim
syntax enable
colorscheme atom-dark
plugins
僕の場合はファイルを分けて、書きます。ファイルは$HOME/.config/nvim/dein.toml
です。
~/.config/nvim/dein.toml
[[plugins]]
repo = 'Shougo/deoplete.nvim'
[[plugins]]
repo = 'itchyny/lightline.vim'
[[plugins]] #toml syntax
repo = 'cespare/vim-toml'
on_ft = 'toml'
[[plugins]]
repo = 'gosukiwi/vim-atom-dark'
[[plugins]]
repo = 'fatih/vim-go'
[[plugins]]
repo = 'zchee/deoplete-go'
[[plugins]]
repo = 'plasticboy/vim-markdown'
[[plugins]]
repo = 'thinca/vim-quickrun'
Reference
- NeoVim NEOVIM
- Installing-Neovim インストールの参考に...
- dein.vim 絶対入れたい
- neovim method neovimの記事です
- vim-go goで開発してる人は入れとこーーー
- lightline-vim lightlineが入れれます
- deoplete-nvim 次世代の補完プラグイン
- vim-atom-dark atom userだったので...愛着が...
- vim-markdown markdownをよく書く人へ...
- quickrun vim内で実行可能です