使用Vim 8.0搭建远程服务器端IDE(五)-完结篇
作者:互联网
这一篇是整个系列文章的最后一篇了,将介绍:ale
,delimitMate
,signify
,unimpaired
,commentary
和DoxygenToolkit
这几个插件,然后会上传我的.vimrc
上传到我的GitHub
仓库。
ALE
ALE
(异步Lint引擎)是一个插件,用于在编辑文本文件时在Vim 8
中提供linting
(检查语法和语义)功能。ALE
利用Vim 8
作业控制功能和定时器在文本缓冲区的内容上运行短接,并在Vim
中更改文本时返回错误。这允许在将文件保存回文件系统之前,在Vim
中编辑的文件中显示警告和错误。换句话说,这个插件允许您在键入时使用lint
。
安装和配置
在.vimrc
的vim-plug
插件管理代码处添加ALE
插件:
call plug#begin('~/.vim/plugged')
Plug 'w0rp/ale'
call plug#end()
重新加载.vimrc
并:PlugInstall
安装插件,新的插件安装在~/.vim/plugged
目录。在.vimrc
添加ALE
相关的常用配置代码:
" ale
let g:ale_echo_msg_format = '[%linter%] %code: %%s'
let g:ale_lint_on_text_changed = 'normal'
let g:ale_lint_on_insert_leave = 1
let g:airline#extensions#ale#enabled = 1
let g:ale_set_highlights = 0
nmap sp <Plug>(ale_previous_wrap)
nmap sn <Plug>(ale_next_wrap)
let g:ale_c_gcc_options = '-Wall -O2 -std=c99'
let g:ale_cpp_gcc_options = '-Wall -O2 -std=c++14'
let g:ale_c_cppcheck_options = ''
let g:ale_cpp_cppcheck_options = ''
用法
该插件在你键入代码的时候自动检查语法和语义,参考下图,使用<sp>
或者<sn>
来前后跳转前后语法或者语义错误位置。
delimitMate
此插件提供自动关闭界定符(引号,小括号,中括号和大括号)等,也就是输入左界定符后自动输入匹配的右界定符。
安装和配置
在.vimrc
的vim-plug
插件管理代码处添加delimitMate
插件:
call plug#begin('~/.vim/plugged')
Plug 'Raimondi/delimitMate'
call plug#end()
重新加载.vimrc
并:PlugInstall
安装插件,新的插件安装在~/.vim/plugged
目录。在.vimrc
添加delimitMate
相关的常用配置代码:
" 用 Tab 键进行 delimitMate 的光标跳转(也就是说,输入左括号后使用 Tab 键就可跳转到 delimitMate 生成的右括号的右边,而无需 <S-TAB>),且不破坏 UltiSnips 的 Tab 键展开,同时禁用 delimitMate 自带的 <S-TAB>:
autocmd VimEnter * imap <silent> <expr> <TAB> delimitMate#ShouldJump() ? delimitMate#JumpAny() : "\<C-r>=UltiSnips#ExpandSnippetOrJump()\<CR>"
autocmd VimEnter * inoremap <S-TAB> <S-TAB>
用法
输入左界定符(引号,小括号,中括号和大括号)后,delimitMate
自动匹配补全右半边界定符。然后在左右界定符内输入完字符串后,用 Tab
键进行 delimitMate
的光标跳转:也就是说,输入左括号后使用 Tab
键就可跳转到 delimitMate
生成的右括号的右边。
Signify
Signify
使用sign
列来指示由版本控制系统(VCS
,比如现在主流的git
)管理的文件中的添加,修改和删除行。支持在Vim 8.0
中异步执行。
安装和配置
在.vimrc
的vim-plug
插件管理代码处添加Signify
插件:
call plug#begin('~/.vim/plugged')
Plug 'mhinz/vim-signify'
call plug#end()
重新加载.vimrc
并:PlugInstall
安装插件,新的插件安装在~/.vim/plugged
目录。在.vimrc
添加Signify
相关的常用配置代码:
" signify
set signcolumn=yes
用法
修改git
仓库中的源代码的时候Signify
插件自动异步执行,使用左边sign
列来指示git
管理的文件中的添加,修改和删除行,就像下面这个演示一样:
unimpaired
Vim 8.0
的模式:互补的映射对。它们大多分为四类:
- 对于常用的
ex
命令,存在简单的短正常模式别名的映射。]q
是:cnext
。[q
是:cprevious
。 - 线性映射。
[<Space>
和]<Space>
在光标行之前和之后添加换行符。[e
和]e
将当前行与其上方或下方的行交换。 - 切换选项的映射。
[os
,]os
和yos
执行:set spell
,:set nospell
以及:set invspell
。 - 用于编码和解码的映射。
[y
并]y
执行C String
样式转义。
安装和配置
在.vimrc
的vim-plug
插件管理代码处添加unimpaired
插件:
call plug#begin('~/.vim/plugged')
Plug 'tpope/vim-unimpaired'
call plug#end()
重新加载.vimrc
并:PlugInstall
安装插件,新的插件安装在~/.vim/plugged
目录。
用法
这里是unimpaired
插件的cheatsheets
:
= Unimpaired =
| [a, ]a, [A, ]A, | :previous, :next, :first, :last |
| [b, ]b, [B, ]B | :bprevious, :bnext, :bfirst, :blast |
| [l, ]l, [L, ]L | :lprevious, :lnext, :lfirst, :llast |
| [<C-L>, ]<C-L> | :lpfile, :lnfile |
| ]q, [Q, ]Q | :cnext, :cfirst, :clast |
| [<C-Q>, ]<C-Q> | :cpfile, :cnfile |
| [t, ]t, [T, ]T | :tprevious, :tnext, :tfirst, :tlast |
| [f, ]f | previous/next file in directory |
| [n, ]n | conflict markers |
| [<Space>, ]<Space> | add blank lines above/under the cursor |
| [e, ]e | exchange line |
== Pasting ==
| >p | Paste after linewise, increasing indent. |
| >P | Paste before linewise, increasing indent. |
| <p | Paste after linewise, decreasing indent. |
| <P | Paste before linewise, decreasing indent. |
| =p | Paste after linewise, reindenting. |
| =P | Paste before linewise, reindenting. |
== * Toggling ==
| On | Off | Toggle | Option |
| --- | --- | --- | --- |
| [ob | ]ob | cob | 'background' (dark is off, light is on) |
| [oc | ]oc | coc | 'cursorline' |
| [od | ]od | cod | 'diff' (actually :diffthis / :diffoff ) |
| [oh | ]oh | coh | 'hlsearch' |
| [oi | ]oi | coi | 'ignorecase' |
| [ol | ]ol | col | 'list' |
| [on | ]on | con | 'number' |
| [or | ]or | cor | 'relativenumber' |
| [os | ]os | cos | 'spell' |
| [ou | ]ou | cou | 'cursorcolumn' |
| [ov | ]ov | cov | 'virtualedit' |
| [ow | ]ow | cow | 'wrap' |
| [ox | ]ox | cox | 'cursorline' 'cursorcolumn' (x as in crosshairs) |
commentary
注释插件,使用gcc
,gc
和gcgc
等命令来注释和取消注释代码
安装和配置
在.vimrc
的vim-plug
插件管理代码处添加commentary
插件:
call plug#begin('~/.vim/plugged')
Plug 'tpope/vim-commentary'
call plug#end()
重新加载.vimrc
并:PlugInstall
安装插件,新的插件安装在~/.vim/plugged
目录。
用法
使用gcc
注释掉一行代码(或者在命令行前指定行数),gcap
注释整段代码,gc
在visual
模式注释掉选择的所有行。gcgc
可以取消注释附近的一组代码。
DoxygenToolkit
为C
,C++
或Python
函数或类生成doxygen
注释框架,包括@brief
,@param
和@return
。
安装和配置
在.vimrc
的vim-plug
插件管理代码处添加DoxygenToolkit
插件:
call plug#begin('~/.vim/plugged')
Plug 'vim-scripts/DoxygenToolkit.vim'
call plug#end()
重新加载.vimrc
并:PlugInstall
安装插件,新的插件安装在~/.vim/plugged
目录。
用法
在vim
中,将光标放在函数头的行上(或返回函数的值)或类。然后执行命令:Dox
。这个将生成生成doxygen
注释框架并将光标留在@brief
标记之后。
我的.vimrc
文件
至此,使用Vim 8.0
基本搭建完成一个远程服务器端IDE
,我使用的.vimrc
文件和.vim
参考目录(所有的插件都需要:PlugInstall
重新安装)放到了我的GitHub
:
vim_config
标签:plug,完结篇,插件,vimrc,服务器端,8.0,ale,vim,delimitMate 来源: https://blog.csdn.net/weixin_44410537/article/details/88767884