vimrc

call plug#begin('~/.vim/plugged')
Plug 'itchyny/lightline.vim'
Plug 'preservim/nerdtree'
Plug 'Valloric/YouCompleteMe'
Plug 'rdnetto/YCM-Generator', { 'branch': 'stable'}
call plug#end()


":echo "Hello,moli!"
"注释:"开头表示注释
"=========================一般设置=======================================
set backspace=2		"启用退格删除
set nocompatible          "vim比vi支持更多的功能,如showcmd,避免冲突和副作用,最好关闭兼容
set encoding=utf-8	  "使用utf-8编码
set number                "显示行号
set showcmd               "显示输入命令
set cursorline            "显示当前行
set hlsearch              "显示高亮搜索
set incsearch
set history=100           "默认指令记录是20
set pastetoggle=<F3>      "F3快捷键于paste模式与否之间转化,防止自动缩进
set helplang=cn           "设置为中文帮助文档,需下载并配置之后才生效
set splitbelow			  " 默认窗口在下方
set termwinsize=10x0	  "默认窗口大小为10
set laststatus=2
set statusline=%F
let mapleader = "\<space>"

"===========================文本格式排版================================
set tabstop=4              "设置tab长度为4
set shiftwidth=4           "设置自动对齐的缩进级别
set cindent
set smartindent            "改进版的cindent,自动识别以#开头的注释,不进行换行
set autoindent              "autoindent配合下面一条命令根据不同语言类型进行不同的缩进操
filetype plugin indent on
set nowrap

"===========================选择molokai的模式============================
let g:rehash256 = 1
let g:molokai_original = 1
highlight NonText guibg=#060606
highlight Folded  guibg=#0A0A0A guifg=#9090D0
set t_Co=256
set background=dark
colorscheme  molokai
set tabstop=4

"===========================NerdTree============================
autocmd vimenter * NERDTree  "自动开启Nerdtree
wincmd w
autocmd VimEnter * wincmd w	"光标默认在右边编辑区
"let NERDTreeShowBookmarks=1  " 开启Nerdtree时自动显示Bookmarks
"打开vim时如果没有文件自动打开NERDTree
autocmd vimenter * if !argc()|NERDTree|endif
"当NERDTree为剩下的唯一窗口时自动关闭
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
"设置树的显示图标
let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'
let NERDTreeIgnore = ['\.pyc$', '\.swp', '\.swo', '\.vscode', '__pycache__']  " 过滤所有.pyc文件不显示
let g:NERDTreeHidden=0     "不显示隐藏文件
"Making it prettier
let NERDTreeMinimalUI = 1
let NERDTreeDirArrows = 1
"开启/关闭nerdtree
map <C-t> :NERDTreeToggle<CR>
"定位到当前文件
map <C-f> :NERDTreeFind<cr> 


"=========================== YouCompleteMe =============================
set completeopt=longest,menu 	"让Vim的补全菜单行为与一般IDE一致(参考VimTip1228)
autocmd InsertLeave * if pumvisible() == 0|pclose|endif 	"离开插入模式后自动关闭预览窗口
let g:ycm_key_list_select_completion=['<c-n>', '<Down>']
let g:ycm_key_list_previous_completion=['<c-p>', '<Up>']
let g:ycm_key_list_stop_completion = ['<C-y>', '<Enter>']
let g:ycm_confirm_extra_conf = 0 "关闭加载.ycm_extra_conf.py提示
let g:ycm_collect_identifiers_from_tags_files = 1 " 开启 YouCompleteMe基于标签引
let g:ycm_min_num_of_chars_for_completion=2 " 从第2个键入字符就开始罗列匹配项
let g:ycm_max_num_candidates = 50 "选补全框内显示的补全条目的最大数量
let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py'
let g:ycm_error_symbol = '>>'
let g:ycm_warning_symbol = '>*'
" 只有以下文件会触发弹框
let g:ycm_semantic_triggers =  {
			\ 'c,cpp,python,java,go,erlang,perl': ['re!\w{2}'],
			\ 'cs,lua,javascript': ['re!\w{2}'],
			\ }
" 只解析以下文件类型
let g:ycm_filetype_whitelist = {
			\ "c":1,
			\ "cpp":1,
			\ "objc":1,
			\ "sh":1,
			\ "zsh":1,
			\ "zimbu":1,
			\ }

nnoremap <C-j> :YcmCompleter GoToDefinitionElseDeclaration<CR>	"跳转到定义处
nnoremap <C-k> :YcmCompleter GoToReferences<CR>

" 配置 ctags 路径
let g:ycm_autoclose_preview_window_after_completion=1
set tags=tags;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值