neovim
neovim 是 vim 的重构版,完整继承了 vim 的操作键。并在此基础上开发了许多新特性。
neovim安装
- macos / os x
1 | ~ brew update |
- centos7
1 | yum -y install epel-release |
neovim配置
支持python插件
参考博客安装python3,pyenv管理多版本python
neovim支持python插件,但需要有python3以及neovim
依赖包支持。
使用的配置文件中有使用到python插件的。
运行pip intall neovim
安装python neovim依赖包。
配置neovim
克隆配置文件到.config
目录:
1 | git clone https://github.com/sat1993/nvim-config.git ~/.config/nvim |
克隆完成之后,安装本地插件:
1 | # 进入nvim |
安装完成后:q!
退出,再nvim
进入时没有报错,且可以看到如下页面说明安装完成:
插件记录
roxma/nvim-completion-manager
代码自动补全框架。
fgrsnau/ncm-otherbuf
ncm-otherbuf
nvim-completion-manager提供nvim buf相关提示补全的插件。
roxma/ncm-github
roxma/nvim-cm-tern
用户目录需要配置.tern-config
或者项目目录需要配置.tern-project
具体配置参考tern reference manual
shougo/neco-syntax
ncm句法补充
shougo/neco-vim
for vim
ncm viml语法补充
iamcco/mathjax-support-for-mkdp
for markdown
iamcco/markdown-preview.vim
for markdown
joker1007/vim-markdown-quote-syntax
for markdown
joker1007/vim-markdown-quote-syntax
markdown语法高亮展示
w0rp/ale
代码规范检查框架。
sgur/vim-editorconfig
vim editorconfig配置
mattn/emmet-vim
emmet前身为zen coding,能快速生成html代码。
使用案例
1 | ~ nvim index.html |
calebeby/ncm-css
css自动补全。
maksimr/vim-jsbeautify
按.editconfig
的配置格式化js、jsx文件。
1 | ~ nvim .editconfig |
组合键<leader>sf
即可一键格式化当前的css、js、html、json、jsx文件。
heavenshell/vim-jsdoc
使用
- 移动光标到fuction行
- 输入
:jsdoc
插入jsdoc
galooshi/vim-import-js
使用
需要先通过npm安装import-js
npm install -g import-js
<leader>j
对应:importjsword
。导入光标所在处变量的模块<leader>i
对应:importjsfix
。导入所有未导入的模块,并移除未使用的模块。<leader>g
对应:importjsgoto
。前往光标所在模块。
tpope/vim-fugitive
使用
:gstatus
查看文件状态,-
添加或者移除提交列表中的文件。:gcommit
提交git版本。:gblame
提交blame备注信息。:ggrep
以关键字查询提交信息。但一运行就报错。。:glog
相当于git log
:gmove
相当于git mv
:gread
相当于git checkout --filename
:gbrowse
在浏览器中打开当前文件。
junegunn/gv.vim
使用
:gv
查看提交历史。和git log
相等:gv!
仅展示带有当前文件修改的提交记录:gv?
展示当前文件的本地提交列表
cohama/agit.vim
使用
:agit
查看当前分支的提交状况。
lokaltog/vim-easymotion
使用
移动与wbewbe
移动一样决定移动方式。如:<Leader><Leader>w
,按下相应的字母即可跳转过去。
同理可用<leader><leader>e
和<leader><leader>b
选择首字母还是单词末尾。
terryma/vim-multiple-cursors
上述案例中,vim命令如下:2Gfp<C-n><C-n><C-n>cname
移动到目标单词后,使用
itchyny/vim-cursorword
光标相同单词展示下划线。
tpope/vim-surround
kana/vim-textobj-user
kana/vim-textobj-user
扩展文本对象。
terryma/vim-expand-region
选中区块。<S-+>
扩展选中区域。
scrooloose/nerdcommenter
使用
快速注释工具:
[count]<leader>cc
注释当前行或者Visual模式选中的块[count]<leader>cn
与cc相同,但会强制注释[count]<leader>cm
使用注释块注释,而不是注释行。[count]<leader>ci
使用注释行注释,注释整行。[count]<leader>cs
注释块,并格式化[count]<leader>cy
与cc相同,优先拉取注释行。<leader>c$
从当前光标注释到文件结尾<leader>cA
在当前行的结束位置添加注释<leader>ca
切换注释方式,如java从\切换到**\[count]<leader>cl
行注释首列对齐。[count]<leader>cb
使用对齐的行注释。[count]<leader>cu
取消选中行的注释。
kshenoy/vim-signature
使用
添加mark,并支持在mark中跳转。
mx
添加x mark。x可以为其他字母dmx
删除x mark。m,
自动添加mark,如果之前最后的mark为b,则添加c markm.
自动添加mark或取消,如果之前最后的mark为b,则添加c,若已使用m.添加过mark,则取消。m-
删除当前光标所在markm<Space>
删除当前缓冲区所有的mark- ]` 跳转到下一个mark
- [` 跳转到上一个mark
- ]’ 跳转到下一个mark的行首
- [‘ 跳转到上一个mark的行首
- `] 按字母顺序向下跳转
- `[ 按字母顺序向上跳转
- ‘] 按字母顺序向下跳转到目标mark的行首
- ‘[ 按字母顺序向上跳转到目标mark的行首
m/
打开展示所有mark的列表。m[0-9]
对应mark !@#$%^&*()。类型markm<S-[0-9]>
移除对应的mark]-
跳转到下一个相同类型的mark[-
跳转到上一个相同类型的mark]=
跳转到下一个任意类型的mark[=
跳转到上一个任意类型的markm?
打开展示所有类型mark的列表m<BS>
BS为退格键,删除所有类型mark
Shougo/vinarise.vim
编辑二进制文件。
dyng/ctrlsf.vim
使用
<leader>fs
对应<Plug>CtrlSFPrompt
相当于:CtrlSF
。查询当前光标下的单词<leader>fw
对应<Plug>CtrlSFCWordPath
相当于:CtrlSF {word}
。查询特定单词。<leader>fo
对应:CtrlSFOpen
打开上次搜索的结果。
simnalamburt/vim-mundo
查看文件历史修改记录并回滚。
使用
<leader>h
相当于:MundoToggle
打开历史修改记录窗口。
junegunn/vim-easy-align
vim快速对齐插件
使用
- Visual模式下选中要对齐的框,输入
ga[count]=
,表示以等号对齐。count表示第几列=号对齐。可以为*,表示所有。 - 普通模式下输入
ga(范围选中如ip, 2j等)[count]=
,对齐范围内的=号。
neoclide/vim-jsx-improve
jsx句法缩排工具。
使用
- 选定jsx代码块,输入=号缩排。
tpope/vim-repeat
.
号重复功能支持。支持多个插件:
1 | surround.vim |
thinca/vim-quickrun
更快的运行命令shell命令
使用
QuickRun [command]
运行shell命令
kassio/neoterm
vim中打开终端窗口
使用
<leader>tn
打开一个新的终端窗口。<leader>to
打开终端窗口。<leader>tt
显示或隐藏最后一个终端窗口。<leader>th
关闭终端窗口。<leader>tl
相当于终端的clear命令。<leader>tc
相当于终端的命令。 :T [command]
在终端中执行command命令。
iamcco/smartIM.nvim
在出发插入模式和普通模式执行指定的方法。
Konfekt/FastFold
折叠管理(zo、za、zr、zc、zj、zk、zuz)
andymass/vim-matchup
匹配代码块起始结尾。
Shougo/denite.nvim
快速切换文件、缓冲区文件。
需要激活Python3接口pip install neovim
使用
<C-p>
打开当前工作目录下的文件。<C-j>和<C-k>
上下切换文件。<leader>b
打开缓冲区文件列表。
问题
报错,No sucn file or directory: ‘ag’。
需要安装ag
命令。
1 | ~ brew update |
pocari/vim-denite-emoji
输入emoji表情。依赖以下两个插件:
- denite.vim
- vim-emoji
使用
:Denite emoji
选择emoji即可。
tweekmonster/helpful.vim
使用
1 | " Search for a function |
bfredl/nvim-miniyank
tweekmonster/startuptime.vim
viml效率测试工具
junegunn/vader.vim
viml调试工具
jiangmiao/auto-pairs
自动闭合括号等。如输入(
获得()
。删除同理。
itchyny/lightline.vim
美化vim下方状态栏。
icymind/NeoSolarized
vim主题
junegunn/vim-emoji
使vim支持编辑emoji。