使用Vim 8.0搭建远程服务器端IDE(五)-完结篇

版权声明:个人原创,转载请注明出处,谢谢。 https://blog.csdn.net/weixin_44410537/article/details/88767884

这一篇是整个系列文章的最后一篇了,将介绍:aledelimitMatesignifyunimpaired,commentaryDoxygenToolkit这几个插件,然后会上传我的.vimrc上传到我的GitHub仓库。

ALE

ALE(异步Lint引擎)是一个插件,用于在编辑文本文件时在Vim 8中提供linting(检查语法和语义)功能。ALE利用Vim 8作业控制功能和定时器在文本缓冲区的内容上运行短接,并在Vim中更改文本时返回错误。这允许在将文件保存回文件系统之前,在Vim中编辑的文件中显示警告和错误。换句话说,这个插件允许您在键入时使用lint

安装和配置

.vimrcvim-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

此插件提供自动关闭界定符(引号,小括号,中括号和大括号)等,也就是输入左界定符后自动输入匹配的右界定符。

安装和配置

.vimrcvim-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中异步执行。

安装和配置

.vimrcvim-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]osyos执行 :set spell:set nospell以及:set invspell
  • 用于编码和解码的映射。[y]y执行C String样式转义。

安装和配置

.vimrcvim-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

注释插件,使用gccgcgcgc等命令来注释和取消注释代码

安装和配置

.vimrcvim-plug插件管理代码处添加commentary插件:

call plug#begin('~/.vim/plugged')
Plug 'tpope/vim-commentary'
call plug#end()

重新加载.vimrc:PlugInstall安装插件,新的插件安装在~/.vim/plugged目录。

用法

使用gcc注释掉一行代码(或者在命令行前指定行数),gcap注释整段代码,gcvisual模式注释掉选择的所有行。gcgc可以取消注释附近的一组代码。

DoxygenToolkit

CC++Python函数或类生成doxygen注释框架,包括@brief@param@return

安装和配置

.vimrcvim-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

猜你喜欢

转载自blog.csdn.net/weixin_44410537/article/details/88767884
今日推荐