900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > ale插件 vim_Vim插件之ale LeaderF completor.vim(win10)配置

ale插件 vim_Vim插件之ale LeaderF completor.vim(win10)配置

时间:2019-11-27 04:36:44

相关推荐

ale插件 vim_Vim插件之ale LeaderF completor.vim(win10)配置

内容包含

vim-plug,异步插件管理,总之就是下起来快。

ale,异步语法检查

LeaderF,快速查找文件

completor.vim vim8的快速补全

markdown预览

common setting

startup开始

使打开vimrc折叠,默认折叠是{{{

" Startup {{{

filetype indent plugin on

augroup vimrcEx

au!

autocmd FileType text setlocal textwidth=78

augroup END

" vim 文件折叠方式为 marker

augroup ft_vim

au!

autocmd FileType vim setlocal foldmethod=marker

" 打开文件总是定位到上次编辑的位置

autocmd BufReadPost *

\ if line("'\"") > 1 && line("'\"") <= line("$") |

\ exe "normal! g`\"" |

\ endif

augroup END

" }}}

General常用

" General {{{

set nocompatible

set nobackup

set noswapfile

set history=1024

"自动设置当前目录为正在编辑的目录

cd D:\Code\VimCode

set autochdir

autocmd BufEnter * silent! lcd %:p:h:gs/ /\\ /

set whichwrap=b,s,,[,]

set nobomb

set backspace=indent,eol,start whichwrap+=,[,]

" Vim 的默认寄存器和系统剪贴板共享

set clipboard+=unnamed

" 设置 alt 键不映射到菜单栏

set winaltkeys=no

"关闭提示音

set noeb

set vb t_vb=

" }}}

Lang语言编码

" Lang & Encoding {{{

set fenc=

set fileencodings=utf-8,gb18030,utf-16,big5

set encoding=utf-8

set langmenu=zh_CN

let $LANG = 'en_US.UTF-8'

"解决consle输出乱码

language messages zh_CN.utf-8

"解决菜单乱码

source $VIMRUNTIME/delmenu.vim

source $VIMRUNTIME/menu.vim

" }}}

GUI界面

" GUI {{{

" 设置 gvim 显示字体

"set guifont=DejaVu\ Sans\ Mono\ for\ Powerline:h12

set guifont=Fira_Code:h12

set gfw=幼圆:h12:cGB2312

set cursorline

set hlsearch

" 开启实时搜索功能

set incsearch

" 搜索时大小写不敏感

set ignorecase

set number

"Show related row numbers

set relativenumber

"在光标接近底端或顶端时,自动下滚或上滚

set scrolloff=10

" 窗口大小

set lines=30 columns=80

" 分割出来的窗口位于当前窗口下边/右边

set splitbelow

set splitright

"不显示工具/菜单栏

set guioptions-=T

set guioptions-=m

set guioptions-=L

set guioptions-=r

set guioptions-=b

" }}}

Format格式

" Format {{{

set autoindent

set smartindent

set tabstop=4

set shiftwidth=4

set softtabstop=4

set expandtab

"自动折叠

set foldmethod=marker

syntax on

" }}}

Keyboard setting 映射

" Keyboard setting {{{

"set my leader

"let mapleader=";"

let mapleader="\"

"打开vimrc快捷键

nnoremap ev :split $MYVIMRC

"运行当前vimrc脚本

nnoremapsv :source $MYVIMRC

" 打开当前目录 windows

nmap ex :!start explorer %:p:h

" 打开当前目录CMD

nmap cmd :!start cmd /k cd %:p:h

" 复制当前文件/路径到剪贴板

nmap ,fn :let @*=substitute(expand("%"), "/", "\\", "g")

nmap ,fp :let @*=substitute(expand("%:p"), "/", "\\", "g")

" 一键运行

"编译运行

map :call CompileRunGcc()

func! CompileRunGcc()

exec "w"

if &filetype == 'c'

exec "!g++ % -o %

exec "! %

elseif &filetype == 'cpp'

exec "!g++ % -o %

exec "! %

elseif &filetype == 'java'

exec "!javac %"

exec "!java %

elseif &filetype == 'py'

exec "!python"

elseif &filetype == 'sh'

:!%

endif

endfunc

" }}}

Plug List & setting

注意,以下插件都要在call plug#begin('D:\Editor\Vim\vimfiles\plugged')中写入,路径可以改为你要放的插件文件夹路径

美化插件

" +beautiful {{{

"美化状态栏

Plug 'vim-airline/vim-airline'

Plug 'vim-airline/vim-airline-themes'

" airline-setting {{{

"加强版状态栏

let g:airline_theme='molokai'

"使用powerline打过补丁的字体

let g:airline_powerline_fonts = 1

"关闭状态显示空白符号计数,这个对我用处不大"

let g:airline#extensions#whitespace#enabled = 0

let g:airline#extensions#whitespace#symbol = '!'

"开启tabline

let g:airline#extensions#tabline#enabled = 1

"tabline中buffer显示编号

let g:airline#extensions#tabline#buffer_nr_show = 1

" }}}

"打开界面

Plug 'mhinz/vim-startify'

"theme color

Plug 'flazz/vim-colorschemes'

Plug 'tomasr/molokai'

Plug 'morhetz/gruvbox'

Plug 'nanotech/jellybeans.vim'

" theme-setting {{{

" 配色方案

set background=dark

"colorscheme jellybeans

"colorscheme molokai

"colorscheme desert

colorscheme gruvbox

" }}}

"中文帮助文档

Plug 'yianwillis/vimcdoc'

"}}}

编写插件,nerdtree,ale,LeaderF等

" +programming {{{

"文件树

Plug 'scrooloose/nerdtree'

Plug 'Xuyuanp/nerdtree-git-plugin'

" 文件树设置 {{{

" 关闭NERDTree快捷键

map t :NERDTreeToggle

""当NERDTree为剩下的唯一窗口时自动关闭

autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif

""修改树的显示图标

let g:NERDTreeDirArrowExpandable = '►'

let g:NERDTreeDirArrowCollapsible = '▼'

let NERDTreeAutoCenter=1

" 显示行号

let NERDTreeShowLineNumbers=1

" 是否显示隐藏文件

let NERDTreeShowHidden=1

" 设置宽度

let NERDTreeWinSize=25

" 在终端启动vim时,共享NERDTree

let g:nerdtree_tabs_open_on_console_startup=1

" 忽略一下文件的显示

let NERDTreeIgnore=['\.pyc','\~$','\.swp']

let g:NERDTreeIndicatorMapCustom = {

\ "Modified" : "✹",

\ "Staged" : "✚",

\ "Untracked" : "✭",

\ "Renamed" : "➜",

\ "Unmerged" : "═",

\ "Deleted" : "✖",

\ "Dirty" : "✗",

\ "Clean" : "✔︎",

\ 'Ignored' : '☒',

\ "Unknown" : "?"

\ }

" }}}

"文件搜索

Plug 'Yggdroot/LeaderF'

"异步语法检查

Plug 'w0rp/ale'

" ale-setting {{{

let g:ale_set_highlights = 0

"自定义error和warning图标

let g:ale_sign_error = '✗'

let g:ale_sign_warning = '⚡'

"在vim自带的状态栏中整合ale

let g:ale_statusline_format = ['✗ %d', '⚡ %d', '✔ OK']

"显示Linter名称,出错或警告等相关信息

let g:ale_echo_msg_error_str = 'E'

let g:ale_echo_msg_warning_str = 'W'

let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'

"打开文件时不进行检查

let g:ale_lint_on_enter = 0

"普通模式下,sp前往上一个错误或警告,sn前往下一个错误或警告

nmap sp (ale_previous_wrap)

nmap sn (ale_next_wrap)

"s触发/关闭语法检查

nmap s :ALEToggle

"d查看错误或警告的详细信息

nmap d :ALEDetail

"使用clang对c和c++进行语法检查,对python使用pylint进行语法检查

let g:ale_linters = {

\ 'c++': ['clang'],

\ 'c': ['clang'],

\ 'python': ['pylint'],

\}

" }}}

"括号补全

Plug 'jiangmiao/auto-pairs'

"补全

Plug 'maralla/completor.vim'

Plug 'maralla/completor-neosnippet'

" 补全设置 {{{

"使用tab补全

inoremap pumvisible() ? "\" : "\"

inoremap pumvisible() ? "\" : "\"

inoremap pumvisible() ? "\\" : "\"

" }}}

"注释

Plug 'scrooloose/nerdcommenter'

" 注释说明 {{{

"cc 加注释

"cu 解开注释

"c 加上/解开注释, 智能判断

"cy 先复制, 再注解(p可以进行黏贴)

" 注释的时候自动加个空格, 强迫症必配

"let g:NERDSpaceDelims=1

" }}}

"}}}

语言插件

" +lag {{{

" markdown

Plug 'godlygeek/tabular'

Plug 'plasticboy/vim-markdown'

Plug 'kannokanno/previm'

Plug 'tyru/open-browser.vim'

" markdown-setting {{{

"使用:PrevimOpen就可以预览

" }}}

插件汇总

" PluList {{{

call plug#begin('D:\Editor\Vim\vimfiles\plugged')

filetype plugin indent on

" +beautiful {{{

"美化状态栏

Plug 'vim-airline/vim-airline'

Plug 'vim-airline/vim-airline-themes'

" airline-setting {{{

"加强版状态栏

let g:airline_theme='molokai'

"使用powerline打过补丁的字体

let g:airline_powerline_fonts = 1

"关闭状态显示空白符号计数,这个对我用处不大"

let g:airline#extensions#whitespace#enabled = 0

let g:airline#extensions#whitespace#symbol = '!'

"开启tabline

let g:airline#extensions#tabline#enabled = 1

"tabline中buffer显示编号

let g:airline#extensions#tabline#buffer_nr_show = 1

" }}}

"打开界面

Plug 'mhinz/vim-startify'

"theme color

Plug 'flazz/vim-colorschemes'

Plug 'tomasr/molokai'

Plug 'morhetz/gruvbox'

Plug 'nanotech/jellybeans.vim'

" theme-setting {{{

" 配色方案

set background=dark

"colorscheme jellybeans

"colorscheme molokai

"colorscheme desert

colorscheme gruvbox

" }}}

"中文帮助文档

Plug 'yianwillis/vimcdoc'

"}}}

" +programming {{{

"文件树

Plug 'scrooloose/nerdtree'

Plug 'Xuyuanp/nerdtree-git-plugin'

" 文件树设置 {{{

" 关闭NERDTree快捷键

map t :NERDTreeToggle

""当NERDTree为剩下的唯一窗口时自动关闭

autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif

""修改树的显示图标

let g:NERDTreeDirArrowExpandable = '►'

let g:NERDTreeDirArrowCollapsible = '▼'

let NERDTreeAutoCenter=1

" 显示行号

let NERDTreeShowLineNumbers=1

" 是否显示隐藏文件

let NERDTreeShowHidden=1

" 设置宽度

let NERDTreeWinSize=25

" 在终端启动vim时,共享NERDTree

let g:nerdtree_tabs_open_on_console_startup=1

" 忽略一下文件的显示

let NERDTreeIgnore=['\.pyc','\~$','\.swp']

let g:NERDTreeIndicatorMapCustom = {

\ "Modified" : "✹",

\ "Staged" : "✚",

\ "Untracked" : "✭",

\ "Renamed" : "➜",

\ "Unmerged" : "═",

\ "Deleted" : "✖",

\ "Dirty" : "✗",

\ "Clean" : "✔︎",

\ 'Ignored' : '☒',

\ "Unknown" : "?"

\ }

" }}}

"文件搜索

Plug 'Yggdroot/LeaderF'

"异步语法检查

Plug 'w0rp/ale'

" ale-setting {{{

let g:ale_set_highlights = 0

"自定义error和warning图标

let g:ale_sign_error = '✗'

let g:ale_sign_warning = '⚡'

"在vim自带的状态栏中整合ale

let g:ale_statusline_format = ['✗ %d', '⚡ %d', '✔ OK']

"显示Linter名称,出错或警告等相关信息

let g:ale_echo_msg_error_str = 'E'

let g:ale_echo_msg_warning_str = 'W'

let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'

"打开文件时不进行检查

let g:ale_lint_on_enter = 0

"普通模式下,sp前往上一个错误或警告,sn前往下一个错误或警告

nmap sp (ale_previous_wrap)

nmap sn (ale_next_wrap)

"s触发/关闭语法检查

nmap s :ALEToggle

"d查看错误或警告的详细信息

nmap d :ALEDetail

"使用clang对c和c++进行语法检查,对python使用pylint进行语法检查

let g:ale_linters = {

\ 'c++': ['clang'],

\ 'c': ['clang'],

\ 'python': ['pylint'],

\}

" }}}

"括号补全

Plug 'jiangmiao/auto-pairs'

"补全

Plug 'maralla/completor.vim'

Plug 'maralla/completor-neosnippet'

" 补全设置 {{{

"使用tab补全

inoremap pumvisible() ? "\" : "\"

inoremap pumvisible() ? "\" : "\"

inoremap pumvisible() ? "\\" : "\"

" }}}

"注释

Plug 'scrooloose/nerdcommenter'

" 注释说明 {{{

"cc 加注释

"cu 解开注释

"c 加上/解开注释, 智能判断

"cy 先复制, 再注解(p可以进行黏贴)

" 注释的时候自动加个空格, 强迫症必配

"let g:NERDSpaceDelims=1

" }}}

"}}}

" +lang {{{

" markdown

Plug 'godlygeek/tabular'

Plug 'plasticboy/vim-markdown'

Plug 'kannokanno/previm'

Plug 'tyru/open-browser.vim'

" markdown-setting {{{

"使用:PrevimOpen就可以预览

" }}}

"}}}

call plug#end()

" }}}

代码

可能有更新,可以看我github上的vimrc

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" common setting "

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" Startup {{{

filetype indent plugin on

augroup vimrcEx

au!

autocmd FileType text setlocal textwidth=78

augroup END

" vim 文件折叠方式为 marker

augroup ft_vim

au!

autocmd FileType vim setlocal foldmethod=marker

" 打开文件总是定位到上次编辑的位置

autocmd BufReadPost *

\ if line("'\"") > 1 && line("'\"") <= line("$") |

\ exe "normal! g`\"" |

\ endif

augroup END

" }}}

" General {{{

set nocompatible

set nobackup

set noswapfile

set history=1024

"自动设置当前目录为正在编辑的目录

cd D:\Code\VimCode

set autochdir

autocmd BufEnter * silent! lcd %:p:h:gs/ /\\ /

set whichwrap=b,s,,[,]

set nobomb

set backspace=indent,eol,start whichwrap+=,[,]

" Vim 的默认寄存器和系统剪贴板共享

set clipboard+=unnamed

" 设置 alt 键不映射到菜单栏

set winaltkeys=no

"关闭提示音

set noeb

set vb t_vb=

" }}}

" Lang & Encoding {{{

set fenc=

set fileencodings=utf-8,gb18030,utf-16,big5

set encoding=utf-8

set langmenu=zh_CN

let $LANG = 'en_US.UTF-8'

"解决consle输出乱码

language messages zh_CN.utf-8

"解决菜单乱码

source $VIMRUNTIME/delmenu.vim

source $VIMRUNTIME/menu.vim

" }}}

" GUI {{{

" 设置 gvim 显示字体

"set guifont=DejaVu\ Sans\ Mono\ for\ Powerline:h12

set guifont=Fira_Code:h12

set gfw=幼圆:h12:cGB2312

set cursorline

set hlsearch

" 开启实时搜索功能

set incsearch

" 搜索时大小写不敏感

set ignorecase

set number

"Show related row numbers

set relativenumber

"在光标接近底端或顶端时,自动下滚或上滚

set scrolloff=10

" 窗口大小

set lines=30 columns=80

" 分割出来的窗口位于当前窗口下边/右边

set splitbelow

set splitright

"不显示工具/菜单栏

set guioptions-=T

set guioptions-=m

set guioptions-=L

set guioptions-=r

set guioptions-=b

" }}}

" Format {{{

set autoindent

set smartindent

set tabstop=4

set shiftwidth=4

set softtabstop=4

set expandtab

"自动折叠

set foldmethod=marker

syntax on

" }}}

" Keyboard setting {{{

"set my leader

"let mapleader=";"

let mapleader="\"

"打开vimrc快捷键

nnoremap ev :split $MYVIMRC

"运行当前vimrc脚本

nnoremapsv :source $MYVIMRC

" 打开当前目录 windows

nmap ex :!start explorer %:p:h

" 打开当前目录CMD

nmap cmd :!start cmd /k cd %:p:h

" 复制当前文件/路径到剪贴板

nmap ,fn :let @*=substitute(expand("%"), "/", "\\", "g")

nmap ,fp :let @*=substitute(expand("%:p"), "/", "\\", "g")

" 一键运行

"编译运行

map :call CompileRunGcc()

func! CompileRunGcc()

exec "w"

if &filetype == 'c'

exec "!g++ % -o %

exec "! %

elseif &filetype == 'cpp'

exec "!g++ % -o %

exec "! %

elseif &filetype == 'java'

exec "!javac %"

exec "!java %

elseif &filetype == 'py'

exec "!python"

elseif &filetype == 'sh'

:!%

endif

endfunc

" }}}

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" Plug "

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" Plug List {{{

call plug#begin('D:\Editor\Vim\vimfiles\plugged')

filetype plugin indent on

" +beautiful {{{

"美化状态栏

Plug 'vim-airline/vim-airline'

Plug 'vim-airline/vim-airline-themes'

" airline-setting {{{

"加强版状态栏

let g:airline_theme='molokai'

"使用powerline打过补丁的字体

let g:airline_powerline_fonts = 1

"关闭状态显示空白符号计数,这个对我用处不大"

let g:airline#extensions#whitespace#enabled = 0

let g:airline#extensions#whitespace#symbol = '!'

"开启tabline

let g:airline#extensions#tabline#enabled = 1

"tabline中buffer显示编号

let g:airline#extensions#tabline#buffer_nr_show = 1

" }}}

"打开界面

Plug 'mhinz/vim-startify'

"theme color

Plug 'flazz/vim-colorschemes'

Plug 'tomasr/molokai'

Plug 'morhetz/gruvbox'

Plug 'nanotech/jellybeans.vim'

" theme-setting {{{

" 配色方案

set background=dark

"colorscheme jellybeans

"colorscheme molokai

"colorscheme desert

colorscheme gruvbox

" }}}

"中文帮助文档

Plug 'yianwillis/vimcdoc'

"}}}

" +programming {{{

"文件树

Plug 'scrooloose/nerdtree'

Plug 'Xuyuanp/nerdtree-git-plugin'

" 文件树设置 {{{

" 关闭NERDTree快捷键

map t :NERDTreeToggle

""当NERDTree为剩下的唯一窗口时自动关闭

autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif

""修改树的显示图标

let g:NERDTreeDirArrowExpandable = '►'

let g:NERDTreeDirArrowCollapsible = '▼'

let NERDTreeAutoCenter=1

" 显示行号

let NERDTreeShowLineNumbers=1

" 是否显示隐藏文件

let NERDTreeShowHidden=1

" 设置宽度

let NERDTreeWinSize=25

" 在终端启动vim时,共享NERDTree

let g:nerdtree_tabs_open_on_console_startup=1

" 忽略一下文件的显示

let NERDTreeIgnore=['\.pyc','\~$','\.swp']

let g:NERDTreeIndicatorMapCustom = {

\ "Modified" : "✹",

\ "Staged" : "✚",

\ "Untracked" : "✭",

\ "Renamed" : "➜",

\ "Unmerged" : "═",

\ "Deleted" : "✖",

\ "Dirty" : "✗",

\ "Clean" : "✔︎",

\ 'Ignored' : '☒',

\ "Unknown" : "?"

\ }

" }}}

"文件搜索

Plug 'Yggdroot/LeaderF'

"异步语法检查

Plug 'w0rp/ale'

" ale-setting {{{

let g:ale_set_highlights = 0

"自定义error和warning图标

let g:ale_sign_error = '✗'

let g:ale_sign_warning = '⚡'

"在vim自带的状态栏中整合ale

let g:ale_statusline_format = ['✗ %d', '⚡ %d', '✔ OK']

"显示Linter名称,出错或警告等相关信息

let g:ale_echo_msg_error_str = 'E'

let g:ale_echo_msg_warning_str = 'W'

let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'

"打开文件时不进行检查

let g:ale_lint_on_enter = 0

"普通模式下,sp前往上一个错误或警告,sn前往下一个错误或警告

nmap sp (ale_previous_wrap)

nmap sn (ale_next_wrap)

"s触发/关闭语法检查

nmap s :ALEToggle

"d查看错误或警告的详细信息

nmap d :ALEDetail

"使用clang对c和c++进行语法检查,对python使用pylint进行语法检查

let g:ale_linters = {

\ 'c++': ['clang'],

\ 'c': ['clang'],

\ 'python': ['pylint'],

\}

" }}}

"括号补全

Plug 'jiangmiao/auto-pairs'

"补全

Plug 'maralla/completor.vim'

Plug 'maralla/completor-neosnippet'

" 补全设置 {{{

"使用tab补全

inoremap pumvisible() ? "\" : "\"

inoremap pumvisible() ? "\" : "\"

inoremap pumvisible() ? "\\" : "\"

" }}}

"注释

Plug 'scrooloose/nerdcommenter'

" 注释说明 {{{

"cc 加注释

"cu 解开注释

"c 加上/解开注释, 智能判断

"cy 先复制, 再注解(p可以进行黏贴)

" 注释的时候自动加个空格, 强迫症必配

"let g:NERDSpaceDelims=1

" }}}

"}}}

" +lang {{{

" markdown

Plug 'godlygeek/tabular'

Plug 'plasticboy/vim-markdown'

Plug 'kannokanno/previm'

Plug 'tyru/open-browser.vim'

" markdown-setting {{{

"使用:PrevimOpen就可以预览

" }}}

"}}}

call plug#end()

" }}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。