这篇文章上次修改于 1976 天前,可能其部分内容已经发生变化,如有疑问可询问作者。 受够了YouCompleteMe每次插件升级就得重新编译的痛苦,决定试试传说中的新贵neovim Ubuntu/Mint https://launchpad.net/~neovim-ppa/+archive/ubuntu/stable (Xenial 16.04 or newer only). https://launchpad.net/~neovim-ppa/+archive/ubuntu/unstable To be able to use add-apt-repository you may need to install software-properties-common: sudo apt-get install software-properties-common If you're using an older version Ubuntu you must use: ``` sudo apt-get install python-software-properties ``` Run the following commands: ``` sudo add-apt-repository ppa:neovim-ppa/stable sudo apt-get update sudo apt-get install neovim ``` 让neovim成为默认首选编辑器 ``` sudo update-alternatives --install /usr/bin/vi vi /usr/bin/nvim 60 sudo update-alternatives --config vi sudo update-alternatives --install /usr/bin/vim vim /usr/bin/nvim 60 sudo update-alternatives --config vim sudo update-alternatives --install /usr/bin/editor editor /usr/bin/nvim 60 sudo update-alternatives --config editor ``` nvim的默认配置文件路径 The Nvim config file is named "init.vim", located at: > Unix ~/.config/nvim/init.vim Windows ~/AppData/Local/nvim/init.vim Or if |$XDG_CONFIG_HOME| is defined: >$XDG_CONFIG_HOME/nvim/init.vim The `$XDG_CONFIG_HOME` and `$XDG_DATA_HOME` environment variables are used if they exist, otherwise default values (listed below) are used. CONFIG DIRECTORY (DEFAULT) *$XDG_CONFIG_HOME* Nvim: stdpath("config") Unix: ~/.config ~/.config/nvim Windows: ~/AppData/Local ~/AppData/Local/nvim DATA DIRECTORY (DEFAULT) *$XDG_DATA_HOME* Nvim: stdpath("data") Unix: ~/.local/share ~/.local/share/nvim Windows: ~/AppData/Local ~/AppData/Local/nvim-data *$NVIM_LOG_FILE* Usually the file is ~/.local/share/nvim/log unless that path is inaccessible or if $NVIM_LOG_FILE was set before |startup|. 总的来说,你从vim切换到neovim会如丝般顺滑,基本没什么不同. 对于使用了pyenv或者goenv以及npm的同志来说,自动识别更让人惊喜. 安装plug.vim来管理插件 ``` curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim ``` 编辑~/.config/nvim/init.vim ``` " Specify a directory for plugins " - For Neovim: ~/.local/share/nvim/plugged " - Avoid using standard Vim directory names like 'plugin' call plug#begin('~/.vim/plugged') " Make sure you use single quotes " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align Plug 'junegunn/vim-easy-align' " Any valid git URL is allowed Plug 'https://github.com/junegunn/vim-github-dashboard.git' " Multiple Plug commands can be written in a single line using | separators Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets' " On-demand loading Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } Plug 'tpope/vim-fireplace', { 'for': 'clojure' } " Using a non-master branch Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' } " Using a tagged release; wildcard allowed (requires git 1.9.2 or above) Plug 'fatih/vim-go', { 'tag': '*' } " Plugin options Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' } " Plugin outside ~/.vim/plugged with post-update hook Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } " Unmanaged plugin (manually installed and updated) Plug '~/my-prototype-plugin' " Initialize plugin system call plug#end() ``` 以上是例子,具体要装哪些插件根据自己需求决定. 附上我的插件列表: ``` Finished. 0 error(s). [========================] ~ ~ - git-blame.vim: OK ~ - coc.nvim: OK ~ - neosnippet.vim: OK ~ - pangu.vim: OK ~ - vim-css-color: OK ~ - nerdtree: OK ~ - nerdtree-git-plugin: OK ~ - vim-template: OK ~ - vim-terraform: OK ~ - vim-misc: OK ~ - vim-go: OK (not loaded) ~ - vim-gitgutter: OK ~ - molokai: OK ~ - tabular: OK ~ - neoterm: OK ~ - vim-vue: OK ~ - neosnippet-snippets: OK ~ - nerdcommenter: OK ~ - tagbar: OK ~ - vim-easymotion: OK ~ - ctrlsf.vim: OK ~ - ctrlp.vim: OK ~ - vim-easytags: OK ~ - vim-markdown: OK ``` 上张效果图 福利就附一篇网友写的vim手册: https://www.dreamxu.com/books/vim/ https://www.zhihu.com/question/23590572
没有评论