vim配置vim-plug和YouCompleteme

vim配置

vim安装vim-plug报错:Failed connect to raw.githubusercontent.com:443;(拒绝连接)

1、打开hosts文件
sudo vim /etc/hosts
2、在hosts文件中添加以下内容
199.232.28.133 raw.githubusercontent.com
3、重新执行vim-plug安装命令
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-\plug/master/plug.vim

vimrc

放在.vim文件夹下
vimrc内容

set nocompatible
set mouse=a
filetype on
filetype indent on
filetype plugin on
filetype plugin indent on
" 以上几个是插件正常安装所需要的


let mapleader=" " " 前缀
syntax on " 语法高亮
set number 
set wrap " 当一行内容太长时,自动换行
set wildmenu " 普通模式输入命令可以有提示
set backspace=indent,eol,start " 使退格键在行首时退格到上一行行尾
set hlsearch " 高亮搜索结果
noremap <LEADER><CR> :nohlsearch<CR> " 按下空格回车将会取消搜索的高亮显示

" 普通模式和编辑模式的光标样式不同
let &t_SI = "\<Esc>]50;CursorShape=1\x7"
let &t_SR = "\<Esc>]50;CursorShape=2\x7"
let &t_EI = "\<Esc>]50;CursorShape=0\x7"

" 打开文档使光标回到上次编辑的位置
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif

map W :wq!<CR> " 普通模式下按大写W将保存文件退出
map Q :q!<CR> " 普通模式下按大写Q将退出不保存

noremap J 5j
noremap K 5k
noremap H 5h
noremap L 5l
map = I#<Esc> " python注释一行
map - I<delete><Esc>  " python取消一行的注释

inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {}<ESC>i
inoremap < <><ESC>i
vnoremap qq <Esc>`>a'''<Esc>`<i'''<Esc>>  "将多行注释掉
vnoremap cc <Esc>`>a<backspace><backspace><backspace><Esc>`<i<delete><delete><delete><Esc>"取消多行的注释
map gh :set nosplitright<CR>:vsplit<CR> " 垂直分屏并将光标放在左边
map gl :set splitright<CR>:vsplit<CR> " 垂直分屏并将光标放在右边
map gk :set nosplitbelow<CR>:split<CR> " 水平分屏并将光标放在上边
map gj :set splitbelow<CR>:split<CR> " 水平分屏并将光标放在下边

map <leader>h <C-w>h " 按空格加h将光标移到左边的分屏
map <leader>l <C-w>l " 移到右边的分屏
map <leader>j <C-w>j " 移到下面的分屏
map <leader>k <C-w>k " 移到上面的分屏

call plug#begin('~/.vim/plugged')

Plug 'Valloric/YouCompleteMe'
call plug#end()


let g:SnazzyTransparent = 1 " 变透明
""""""""""""YCM""""""""""""""""""""
"let g:ycm_global_ycm_extra_conf =
"'~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'
""let g:ycm_collect_identifiers_from_tags_files = 1
set completeopt=longest,menu	"让Vim的补全菜单行为与一般IDE一致(参考VimTip1228)
autocmd InsertLeave * if pumvisible() == 0|pclose|endif	"离开插入模式后自动关闭预览窗口
inoremap <expr> <space>       pumvisible() ? "\<C-y>" : "\<space>"	
"按空格键即选中当前项
"let g:ycm_cache_omnifunc=0	" 禁止缓存匹配项,每次都重新生成匹配项
"let g:ycm_seed_identifiers_with_syntax = 1
"let g:ycm_confirm_extra_conf = 0
""在注释输入中也能补全
let g:ycm_complete_in_comments = 1
"在字符串输入中也能补全
"let g:ycm_complete_in_strings = 1
""注释和字符串中的文字也会被收入补全
let g:ycm_collect_identifiers_from_comments_and_strings = 0


map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
        exec "w"
        if &filetype == 'c'
                exec "!g++ % -o %<"
                exec "!time ./%<"
        elseif &filetype == 'cpp'
                exec "!g++ % -o %<"
                exec "!time ./%<"
        elseif &filetype == 'java'
                exec "!javac %"
                exec "!time java %<"
        elseif &filetype == 'sh'
                :!time bash %
        elseif &filetype == 'python'
                exec "!time python3 %"
        elseif &filetype == 'html'
                exec "!firefox % &"
        elseif &filetype == 'go'
                " exec "!go build %<"
                " exec "!time go run %"
                " elseif &filetype == 'mkd'
                " exec "!~/.vim/markdown.pl % > %.html &"
                " exec "!firefox %.html &"
        endif
        endfunc

let g:ycm_autoclose_preview_window_after_completion=1
let g:ycm_autoclose_preview_window_after_insertion=1        
let g:ycm_key_list_stop_completion = ['<space>'] " 空格键用于关闭补全窗口

YouCompleteMe需要单独安装一下

先运行

  1. ./run_test.py
    按提示安装所需要的库
    conda install 某某某
    如果安装失败可以先
    conda search 找到确切的名称再安装
    test成功之后
  2. ./install.sh
  3. 再运行vim的时候会提示加载****.conf,输入ok
  4. vim ***.py 当输入os.会看到有提示
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值