Vim IDE

作者: kaiv2 | 来源:发表于2020-03-17 16:26 被阅读0次

安装 vim-plug

参考 github vim-plug

配置 .vimrc

此配置中有导航栏,状态栏,gitrustgo等相关插件。还有coc.nvim神器😊。

" set nocompatible " 关闭兼容模式
" filetype off " 关闭自动补全
set number " 打开行号设置
set encoding=utf-8
set ruler " 光标信息
set hlsearch " 高亮显示搜索
set incsearch " 边搜索边高亮
set ignorecase " 忽悠大小写
set cursorline " 突出当前显示行

set ts=4 " tab 占4个字符宽度 
set softtabstop=4
set shiftwidth=4
set expandtab
set autoindent " 复制上一行的缩进
" expandtab " tab为4个空格

syntax enable " 语法高亮
syntax on

" set t_Co=256
" 开启24bit的颜色,开启这个颜色会更漂亮一些
set termguicolors
set background=dark
" colorscheme desert
" packadd! dracula
" colorscheme one

let g:airline_theme='one'
" 取消备份
set nobackup
set noswapfile
" 退出插入模式自动保存
" au InsertLeave *.go,*.java,*.c,*.cpp,*.js,*.html,*.css,*.tpl,*.sh,*.bat,*.conf write

let mapleader=";" " 定义快捷键前缀,即<Leader>

" ==== 系统剪切板复制粘贴 ====
" v 模式下复制内容到系统剪切板
vmap <Leader>c "+yy
" n 模式下复制一行到系统剪切板
nmap <Leader>c "+yy
" n 模式下粘贴系统剪切板的内容
nmap <Leader>v "+p

" 解决插入模式下delete/backspce键失效问题
set backspace=2


" 插件配置
call plug#begin('~/.vim/plugged')

" vim 状态栏
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'

" 左侧导航目录
Plug 'scrooloose/nerdtree'
" 文件搜索插件
Plug 'kien/ctrlp.vim'
" 方法大纲搜索
Plug 'tacahiroy/ctrlp-funky'

" 大纲
Plug 'majutsushi/tagbar'

" editorconfig 插件
Plug 'editorconfig/editorconfig-vim'

" 快速注释插件
Plug 'scrooloose/nerdcommenter'
" vim 文件左侧 git 状态
Plug 'airblade/vim-gitgutter'

" go 语言相关插件
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
" Plug 'volgar1x/vim-gocode'

" 主题
Plug 'dracula/vim', { 'as': 'dracula' }
" colorscheme one 
Plug 'rakr/vim-one'


" 可以在导航目录中看到 git 版本信息
Plug 'Xuyuanp/nerdtree-git-plugin'

" 自动补全括号的插件,包括小括号,中括号,以及花括号
" Plug 'jiangmiao/auto-pairs'

" 可以使 nerdtree Tab 标签的名称更友好些
" Plug 'jistr/vim-nerdtree-tabs'

" html 神器
Plug 'mattn/emmet-vim'

" 补全插件
Plug 'neoclide/coc.nvim', {'branch': 'release'}

" markdown 插件


" rust 插件
Plug 'rust-lang/rust.vim'

call plug#end()


" nerdtree 文件列表插件配置
let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'
" 显示行号
" let NERDTreeShowLineNumbers=1
" 设置宽度
let NERDTreeWinSize=31
" 自动打开 nerdtree
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif
" 使用 vim 而不是 vim .
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
" 打开任意文件启动 nerdtree 我不需要
" autocmd vimenter * NERDTree
" 打开 vim 文件及显示书签列表
" let NERDTreeShowBookmarks=2
" 忽略一下文件的显示
let NERDTreeIgnore=['\.pyc','\~$','\.swp']



" ctrlp.vim 文件搜索插件配置
" 快捷键配置
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
" 设置工作目录读取方式
let g:ctrlp_working_path_mode = 'ra'
" 忽略搜索文件
"let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'
let g:ctrlp_custom_ignore = {  
  \ 'dir':  '\v[\/](\.git|\.hg|\.svn|target|node_modules)$',  
  \ 'file': '\v\.(exe|so|dll|class)$',  
  \ 'link': 'some_bad_symbolic_links',  
  \ }


" ctrlp-funky 插件配置
map <F6> :CtrlPFunky<cr>
let g:ctrlp_extensions = ['funky']
let g:ctrlp_funky_syntax_highlight = 1 



" tagbar 插件配置
" map <F5> :TagbarToggle<cr>
let g:tagbar_type_go = {
    \ 'ctagstype' : 'go',
    \ 'kinds'     : [
        \ 'p:package',
        \ 'i:imports:1',
        \ 'c:constants',
        \ 'v:variables',
        \ 't:types',
        \ 'n:interfaces',
        \ 'w:fields',
        \ 'e:embedded',
        \ 'm:methods',
        \ 'r:constructor',
        \ 'f:functions'
    \ ],
    \ 'sro' : '.',
    \ 'kind2scope' : {
        \ 't' : 'ctype',
        \ 'n' : 'ntype'
    \ },
    \ 'scope2kind' : {
        \ 'ctype' : 't',
        \ 'ntype' : 'n'
    \ },
    \ 'ctagsbin'  : 'gotags',
    \ 'ctagsargs' : '-sort -silent'
\ }

" vim-airline 配置
" 启用显示缓冲区
let g:airline#extensions#tabline#enabled = 1


" nerdocmmenter 注释插件配置
let g:NERDSpaceDelims = 1 " 默认情况下,在注释分割符后添加空格
let g:NERDCompactSexyComs = 1 " 使用紧凑语法进行美化的多行s注释
let g:NERDDefaultAlign = 'left' " 让对齐向注释分割符向左而不是跟随代码缩进
let g:NERDAltDelims_java = 1 " 默认情况,将语言设置为使用其备用分割符
let g:NERDCustomDelimiters = { 'c': { 'left': '/**', 'right': '*/'}} " 添加自定义格式
let g:NERDCommentEmptyLines = 1 " 允许注释和反转空行(在注释区域时很有用)
let g:NERDTrimTrailingWhitespace = 1 " 在取消s注释时启用尾部空格的修剪
let g:NERDToggleCheckAllLines = 1 " 启用检查是否以注释

"==============================================================================
" vim-go 插件
"==============================================================================
let g:go_fmt_command = "goimports" " 格式化将默认的 gofmt 替换
let g:go_autodetect_gopath = 1
let g:go_list_type = "quickfix"

let g:go_version_warning = 1
let g:go_highlight_types = 1
let g:go_highlight_fields = 1
let g:go_highlight_functions = 1
let g:go_highlight_function_calls = 1
let g:go_highlight_operators = 1
let g:go_highlight_extra_types = 1
let g:go_highlight_methods = 1
let g:go_highlight_generate_tags = 1

let g:godef_split=2



"==============================================================================
"  nerdtree-git-plugin 插件
"==============================================================================
let g:NERDTreeIndicatorMapCustom = {
    \ "Modified"  : "✹",
    \ "Staged"    : "✚",
    \ "Untracked" : "✭",
    \ "Renamed"   : "➜",
    \ "Unmerged"  : "═",
    \ "Deleted"   : "✖",
    \ "Dirty"     : "✗",
    \ "Clean"     : "✔︎",
    \ 'Ignored'   : '☒',
    \ "Unknown"   : "?"
    \ }

let g:NERDTreeShowIgnoredStatus = 1


" gui 配置 可忽略
if has('gui_running')
    set guifont=DejaVu\ Sans\ Mono\ 13
endif

相关文章

  • Vim IDE

    安装 vim-plug 参考 github vim-plug 配置 .vimrc 此配置中有导航栏,状态栏,git...

  • Vim 配置 使用

    参考文档 vi/vim使用进阶vim编辑器技巧备忘Vim 的哲学(一) 将Vim改造为强大的IDE—Vim集成

  • Go 初学者成长之路

    ? 开源书籍 ? 编译器 1. Vim党 Vim党当然是不需要 IDE 的,直接 Vim + Vim-go(或者 ...

  • vim搭建IDE

    使用配置:https://github.com/wklken/k-vim vim资源:http://www.wkl...

  • vim go IDE

    参考文章 vim-go-ide 主要步骤: 下载vim_go_runtimegit clone git@githu...

  • USE VIM AS IDE

    安装依赖库(支持Python 3、Lua、Ruby) sudo apt-get install libncurse...

  • 最好的Python开发编辑器都在这里

    1、 Vim Vim 可以说是 Python 最好的 IDE。Vim 是高级文本编辑器,旨在提供实际的 Unix ...

  • 最好的Python开发编辑器都在这里

    1、 Vim Vim 可以说是 Python 最好的 IDE。Vim 是高级文本编辑器,旨在提供实际的 Unix ...

  • vim模板插件vim-template的使用

    vim模板插件vim-template的使用 之前使用IDE编程,模板是最基本的功能,现在切换到vim,用惯了模板...

  • 几种 python编辑器

    1. Vim Vim 可以说是 Python 最好的 IDE。Vim 是高级文本编辑器,旨在提供实际的 Unix ...

网友评论

      本文标题:Vim IDE

      本文链接:https://www.haomeiwen.com/subject/irswnftx.html