linux安装Vim-plug和配置.vimrc文件

1、Vim-plug 安装

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

这一步是下载Vim-plug,~/.vim/autoload/这个是它下载后的位置

如果下载不了,可以去官网下载,下完的文件是plug.vim,然后在用户目录下创建目录mkdir ~/.vim/autoload ,把plug.vim放进去

2、配置.vimrc文件

下面是我用xshell7连接Linux中vim的效果图,透明和背景是xshell7的效果,下面代码是根据文件类型自动生成的,支持C/C++/shell,你也可以添加其他语言的,自己改一下.vimrc文件,更多效果自己查看。

xRnM0f.png

以下是我安装的插件

xRupCQ.png

Linux中系统有一个vimrc文件是vim的配置文件,每个用户有一个这样的文件,它是*.vimrc*,是个隐藏文件,在用户目录下,如果两个文件冲突,按用户的文件为准。在用户目录下用 ls -a看一下有没有,没有就用touch .vimrc创建,把我的.vimrc文件内容复制进去。

以下是我的.vimrc文件,里面安装了6个插件和和它们的设置,里面的设置都有中文标注,可以按照自己喜好进行设置。

""""""""""""""""""""""""""""""""""""""插件开始""""""""""""""""""""""""""""""""""""""""""
call plug#begin('~/.vim/bundle')
"*~/.vim/bundle*是插件的安装位置
插件需要安装在这两个之间,我文件都有这个两个了
"call plug#begin()

"call plug#end()

"请在这句话下添加插件


""""""""""""""""""""""""""Syntastic'"""""""""""""""""""""""""""""" 
Plug 'scrooloose/syntastic'  ""插件安装命令
"syntastic
"设置error和warning的标志
let g:syntastic_enable_signs = 1
let g:syntastic_error_symbol='x'
let g:syntastic_warning_symbol='!'
"总是打开Location List(相当于QuickFix)窗口,如果你发现syntastic因为与其他插件冲突而经常崩溃,将下面选项置0
let g:syntastic_always_populate_loc_list = 1
"自动打开Locaton List,默认值为2,表示发现错误时不自动打开,当修正以后没有再发现错误时自动关闭,置1表示自动打开自动关闭,0表示关闭自动打开和自动关闭,3表示自动打开,但不自动关闭
let g:syntastic_auto_loc_list = 2 
"修改Locaton List窗口高度
let g:syntastic_loc_list_height = 5
"打开文件时自动进行检查
let g:syntastic_check_on_open = 1
"自动跳转到发现的第一个错误或警告处
let g:syntastic_auto_jump = 1
"进行实时检查,如果觉得卡顿,将下面的选项置为1
let g:syntastic_check_on_wq = 0

"高亮错误
let g:syntastic_enable_highlighting=1
"让syntastic支持C++11
let g:syntastic_cpp_compiler = 'clang++'
let g:syntastic_cpp_compiler_options = ' -std=c++11 -stdlib=libc++'
"设置pyflakes为默认的python语法检查工具
let g:syntastic_python_checkers = ['pyflakes']
"修复syntastic使用:lnext和:lprev出现的跳转问题,同时修改键盘映射使用sn和sp进行跳转
function! <SID>LocationPrevious()                       
  try                                                   
    lprev                                               
  catch /^Vim\%((\a\+)\)\=:E553/                        
    llast                                               
  endtry                                                
endfunction                                             
function! <SID>LocationNext()                           
  try                                                   
    lnext                                               
  catch /^Vim\%((\a\+)\)\=:E553/                        
    lfirst                                              
  endtry                                                
endfunction                                             
nnoremap <silent> <Plug>LocationPrevious    :<C-u>exe 'call <SID>LocationPrevious()'<CR>                                        
nnoremap <silent> <Plug>LocationNext        :<C-u>exe 'call <SID>LocationNext()'<CR>
nmap <silent> sp    <Plug>LocationPrevious              
nmap <silent> sn    <Plug>LocationNext

"""""""""""""""""""""""""""""YouCompleteMe""""""""""""""""""""""""""""""""""""""
" YouCompleteMe:语句补全插件
set runtimepath+=~/.vim/bundle/YouCompleteMe
Plug 'Valloric/YouCompleteMe'

autocmd InsertLeave * if pumvisible() == 0|pclose|endif "离开插入模式后自动关闭预览窗口"
let g:ycm_collect_identifiers_from_tags_files = 1           " 开启 YCM基于标签引擎
let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释与字符串中的内容也用于补全
let g:syntastic_ignore_files=[".*\.py$"]
let g:ycm_seed_identifiers_with_syntax = 1                  " 语法关键字补全
let g:ycm_complete_in_comments = 1
""let g:ycm_confirm_extra_conf = 0                            " 关闭加载.ycm_extra_conf.py提示
let g:ycm_key_list_select_completion = ['<c-n>', '<Down>']  " 映射按键,没有这个会拦截掉tab, 导致其他插件的tab不能用.
let g:ycm_key_list_previous_completion = ['<c-p>', '<Up>']
let g:ycm_complete_in_comments = 1                          " 在注释输入中也能补全
let g:ycm_complete_in_strings = 1                           " 在字符串输入中也能补全
let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释和字符串中的文字也会被收入补全
let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
let g:ycm_show_diagnostics_ui = 0                           " 禁用语法检查

inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>"             " 回车即选中当前项
nnoremap <c-j> :YcmCompleter GoToDefinitionElseDeclaration<CR>     " 跳转到定义处
let g:ycm_min_num_of_chars_for_completion=2                 " 从第2个键入字符就开始罗列匹配项
"
 
 """"""""""""""""""""""""""""""""""airline"""""""""""""""""""""""""""""""""
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
"let g:airline_theme='bubblegum'
"vim-airline配置:优化vim界面"
"let g:airline#extensions#tabline#enabled = 1
" airline设置
" 显示颜色
set t_Co=256
set laststatus=2
" 使用powerline打过补丁的字体
let g:airline_powerline_fonts = 1
" 开启tabline
let g:airline#extensions#tabline#enabled = 1
" tabline中当前buffer两端的分隔字符
let g:airline#extensions#tabline#left_sep = ' '
" tabline中未激活buffer两端的分隔字符
let g:airline#extensions#tabline#left_alt_sep = ' '
" tabline中buffer显示编号
let g:airline#extensions#tabline#buffer_nr_show = 1
" 映射切换buffer的键位

if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
let g:airline#extensions#tabline#enabled = 1  "" 显示窗口tab和buffer
let g:airline_left_sep = '▶'
let g:airline_left_alt_sep = '❯'
let g:airline_right_sep = '◀'
let g:airline_right_alt_sep = '❮'
let g:airline_symbols.linenr = '¶'
let g:airline_symbols.branch = '⎇'

nnoremap [b :bp<CR>
nnoremap ]b :bn<CR>
" 映射<leader>num到num buffer
map <leader>1 :b 1<CR>
map <leader>2 :b 2<CR>
map <leader>3 :b 3<CR>
map <leader>4 :b 4<CR>
map <leader>5 :b 5<CR>
map <leader>6 :b 6<CR>
map <leader>7 :b 7<CR>
map <leader>8 :b 8<CR>
map <leader>9 :b 9<CR>
 

""""""""""""""""""""""""""""""""""""""The-NERD-tree""""""""""""""""""""""""""""""""""""""
Plug 'preservim/nerdtree'

"NERDTree 配置:F8快捷键显示当前目录树
map <F8> :NERDTreeToggle<CR>
let NERDTreeWinSize=25 
 
 
"""""""""""""""""""""""""""""""""""""""tagbar"""""""""""""""""""""""""""""""""""""""""""""" 
Plug 'majutsushi/tagbar'

""配置 tagbar 插件
let g:tagbar_ctags_bin='ctags'     "ctags 程序的路径
let g:tagbar_width=30              "窗口宽度设置为 30
let g:tagbar_left=0                "设置在 vim 左边显示
let g:tagbar_map_openfold = "zv"   "按 zv 组合键打开标签,默认 zc 关闭标签

"如果是 C 语言的程序的话,tagbar 自动开启
autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen() 

"我设置 F9 为打开或者关闭的快捷键,根据你的习惯更改
nnoremap <silent> <F9> :TagbarToggle<CR>

""""""""""""""""""""""""""""""""""""""""minibufexpl""""""""""""""""""""""""""""""""""""""""
Plug 'fholgado/minibufexpl.vim'

""# 配置插件信息,官方文档提供配置信息
let g:miniBufExplMapWindowNavVim = 1   
let g:miniBufExplMapWindowNavArrows = 1   
let g:miniBufExplMapCTabSwitchBufs = 1   
let g:miniBufExplModSelTarget = 1  
let g:miniBufExplMoreThanOne=0

"# 注意:这里设置使用 Ctrl + 上下左右来切换窗口,请查看官方文档来自定义
noremap <C-Down>  <C-W>j
noremap <C-Up>    <C-W>k
noremap <C-Left>  <C-W>h
noremap <C-Right> <C-W>l

map <T> :MBEbp<CR>
map <R> :MBEbn<CR>


call plug#end()
""""""""""""""""""""""""""""""""""""""插件结束""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

""""""""""""""""""""""""""自动插入""""""""""""""""""""""""""
filetype on "打开文件类型检测功能
autocmd BufNewFile *.cpp,*.sh,*.py,*.[ch] exec ":call SetTitle()"
func SetTitle()
    if &filetype == 'cpp'  
    call setline(1,"/*")
    call append(line("."), "* @Author: lwj")
    call append(line(".")+1, "* @Date: ".strftime("%F %T"))
    call append(line(".")+2, "* @Mail:  ")
    call append(line(".")+3, "* @Description:")
    call append(line(".")+4, "*/")
    call append(line(".")+5, "")
    call append(line(".")+6, "#include<iostream>")
    call append(line(".")+7, "using namespace std;")
    call append(line(".")+8, "")
    call append(line(".")+9, "int main(void)")
    call append(line(".")+10, "{")
    call append(line(".")+11, "")
    call append(line(".")+12, "")
    call append(line(".")+13, "    return 0;")
    call append(line(".")+14, "}")
    endif
    if &filetype == 'c'
    call setline(1,"/*")
    call append(line("."), "* @Author: lwj")
    call append(line(".")+1, "* @Date: ".strftime("%F %T"))
    call append(line(".")+2, "* @Mail:  ")
    call append(line(".")+3, "* @Description:")
    call append(line(".")+4, "*/")
    call append(line(".")+5, "")
    call append(line(".")+6, "#include<stdio.h>")
    call append(line(".")+7, "")
    call append(line(".")+8, "")
    call append(line(".")+9, "int main(void)")
    call append(line(".")+10, "{")
    call append(line(".")+11, "")
    call append(line(".")+12, "")
    call append(line(".")+13, "    return 0;")
    call append(line(".")+14, "}")
	endif
    if &filetype == 'py' 
    call setline(1,"##")
    call append(line("."), "# @Author: lwj")
    call append(line(".")+1, "# @Date: ".strftime("%F %T"))
    call append(line(".")+2, "# @Mail:  ")
    call append(line(".")+3, "# @Description:")
    call append(line(".")+4, "##")
    call append(line(".")+5, "")
    call append(line(".")+6, "")
    endif 
    if &filetype == 'sh' 
    call setline(1,"##")
    call append(line("."), "# @Author: lwj")
    call append(line(".")+1, "# @Date: ".strftime("%F %T"))
    call append(line(".")+2, "# @Mail:  ")
    call append(line(".")+3, "# @Description:")
    call append(line(".")+4, "##")
    call append(line(".")+5, "")
    call append(line(".")+6, "")
    endif 
    "新建文件后,自动定位到文件末尾(这个功能实际没有被实现,即下面的语句无效,暂不知道原因)
    autocmd BufNewFile * normal G
endfunc
"C,C++ 按F5编译运行
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 ./%<"
    endif
endfunc
"C,C++的调试
map <F10> :call Rungdb()<CR>
func! Rungdb()
exec "w"
exec "!g++ % -g -o %<"
exec "!gdb ./%<"
endfunc
"""""""""""""""""

" 高亮显示普通txt文件(需要txt.vim脚本)
 au BufRead,BufNewFile *  setfiletype txt
"自动补全
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {<CR>}<ESC>O
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
function! ClosePair(char)
	if getline('.')[col('.') - 1] == a:char
		return "\<Right>"
	else
		return a:char
	endif
endfunction
filetype plugin indent on 
"打开文件类型检测, 加了这句才可以用智能补全
set completeopt=longest,menu
"""""""""""""""""""""""""""""""""键盘命令""""""""""""""""""""""""""""""""""""""""
 
" 映射全选+复制 ctrl+a
map <C-A> ggVGY
map! <C-A> <Esc>ggVGY
map <F12> gg=G
" 选中状态下 Ctrl+c 复制
"vmap <C-c> "+y
vmap <C-c> "+y

map <C-A> ggVG                     " 映射全选 ctrl+a
map! <C-A> <Esc>ggVGY
map <F12> gg=G
map <C-c> "+y                      " 映射复制到系统剪切板
nmap <C-v> "+gp                    " 映射粘贴
imap <C-v> <Esc>"+gp               " 映射粘贴
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 " 使用vim的modeline来设置当前文件的textwidth,
" 避免输入超过78个字符时自动换行
" 使用:verbose set textwidth?命令可以看到vim默认
" 为vim配置脚本设置了textwidth为78,当输入超过78个字符
" 并按下空格键时会自动换行.将textwidth设成0关闭该功能
"" vim: tw=0 :

" 去掉有关vi一致性模式,避免操作习惯上的局限.
set nocompatible

" 让Backspace键可以往前删除字符.
" Debian系统自带的vim版本会加载一个debian.vim文件,
" 默认已经设置这一项,
" 可以正常使用Backspace键.如果使用自己编译的vim版本,
" 并自行配置.vimrc文件,可能就没有设置这一项,导致
" Backspace键用不了,或者时灵时不灵.所以主动配置.
set backspace=indent,eol,start

" 1=启动显示状态行, 2=总是显示状态行.
" 设置总是显示状态行,方便看到当前文件名.
set laststatus=2

" 设置ruler会在右下角显示光标所在的行号和列号,
" 不方便查看.改成设置状态栏显示内容
"" set ruler

" 设置状态行显示的内容. %F: 显示当前文件的完整路径.
" %r: 如果readonly,会显示[RO]
" %B: 显示光标下字符的编码值,十六进制.
" %l:光标所在的行号. %v:光标所在的虚拟列号.
" %P: 显示当前内容在整个文件中的百分比.
" %H和%M是strftime()函数的参数,获取时间.
set statusline=%F%r\ [HEX=%B][%l,%v,%P]\ %{strftime(\"%H:%M\")}
 
" 显示还没有输入完整的命令.例如yy命令,输入第一个y会在右下角显示y.
"set showcmd

" 使用Tab键补全时,在状态栏显示匹配的列表,
" 方便查看都有哪些命令符合补全条件.
set wildmenu

" 显示行号
set number

" 高亮显示匹配的括号
set showmatch

" 高亮显示所有搜索到的内容.后面用map映射
" 快捷键来方便关闭当前搜索的高亮.
set hlsearch

" 光标立刻跳转到搜索到内容
set incsearch

" 搜索到最后匹配的位置后,再次搜索不回到第一个匹配处
set nowrapscan

" 去掉输入错误时的提示声音
set noeb

" 默认按下Esc后,需要等待1秒才生效,
" 设置Esc超时时间为100ms,尽快生效
set ttimeout
set ttimeoutlen=100

" 设置文件编码,主要是避免中文乱码.
" 先注释,后续遇到中文乱码再打开
"" set fileencodings=utf-8,cp936,big5,latin1

" FIXME 在MS-DOS控制台打开vim时,控制台使用鼠标
" 右键来复制粘贴,设置全鼠标模式,鼠标右键被映射为
" visual mode,不能用来复制粘贴,不方便.但是如果不
" 设置鼠标模式,会无法使用鼠标滚轮来滚动界面.经过验证,
" 发现可以设成普通模式mouse=n来使用鼠标滚轮,也能使用
" 鼠标右键复制粘贴. mouse=c/mouse=i模式都不能用鼠标
" 滚轮. Linux下还是要设成 mouse=a
set mouse=n

" FIXME 在MS-DOS控制台打开vim,光标很小,不方便看到光标
" 在哪里.下面设置cursorline,高亮光标所在的行.
" cursorlineopt=number只高亮行号部分,不影响正文内容
" 的显示. 在其他容易看到光标的终端上可以去掉这两个设置.
set cursorline
set cursorlineopt=number

" 开启语法高亮
syntax enable

" 检测文件类型,并载入文件类型插件,
" 为特定文件类型载入相关缩进文件
filetype plugin indent on

" 设置自动补全的选项. longest表示只自动补全最大匹配的部分,
" 剩余部分通过CTRL-P/CTRL-N来选择匹配项进行补全. menu表示
" 弹出可补全的内容列表.如果有多个匹配,longest选项不会自动选中
" 并完整补全,要多按一次CTRL-P,比较麻烦,不做设置,保持默认设置,
" vim默认没有设置longest.
"" set completeopt=longest,menu

" 自动缩进.这个导致从外面拷贝多行以空格开头的内容时,
" 会有多的缩进,先不设置.
"" set autoindent

" 设置C风格的自动缩进.设置filetype indent on后,就会根据文件
" 类型自动缩进.按照vim用户手册'30.3 Automatic indenting'的
" 说明,可以不再单独设置cindent.
set cindent

" 自动缩进时,缩进长度为4
set shiftwidth=4

" 输入Tab字符时,自动替换成空格
set expandtab

" 设置softtabstop有一个好处是可以用Backspace键来一次
" 删除4个空格. softtabstop的值为负数,会使用shiftwidth
" 的值,两者保持一致,方便统一缩进.
set softtabstop=-1

" 设置颜色主题,适用于黑色背景.
colorscheme slate

" 创建一个新的 MyTabSpace 组,并设置它的颜色
highlight MyTabSpace ctermfg=darkgrey

" 指定tab字符和空格的颜色组为MyTabSpace,不同字符串
" 之间用|隔开,要使用\|转义.
match MyTabSpace /\t\| /

" 针对特定类型的代码文件,设置显示Tab键和行尾空格以便在
" 查看代码时注意到它们.
" TODO 后续查看代码如果体验不好再改成用map映射快捷键
" 开关list来动态切换显示.
""autocmd FileType c,cpp,java,xml setlocal list | set listchars=tab:>~,trail:.

" 配置 gtags 插件,用于在函数之间跳转,方便查看源代码.
" 参考 gtags-cscopde.vim 的注释,添加下面语句来
" 使用 ':tag' 和 '<C-]>'
set cscopetag
" 设置 cscopetag 后,由于gtags-cscopde默认没有启动,
" 还需要进行下面的设置.结合这两个设置, gtags 就可以
" 使用Ctrl-]键来跳转到函数定义处.
let GtagsCscope_Auto_Load = 1
" 配置 GtagsCscope_Auto_Load = 1 后,在没有GTAGS文件
" 的目录下使用vim,会提示 Gtags-cscope: GTAGS not found.
" Press ENTER or type command to continue
" 需要按回车才会打开文件.如果要去掉这个报错,需要设置GtagsCscope_Quiet = 1
let g:GtagsCscope_Quiet = 1
" 设置只有一个匹配结果时,不显示quickfix窗口
let g:Gtags_Close_When_Single = 1

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 配置 quickfix 相关命令的快捷键. 可以用:map命令
" 查看vim已有的快捷键映射.
nnoremap <F2> :w!<CR>
nnoremap <F3> :q!<CR>
nnoremap <F4> :wq!<CR>
"nnoremap <F2> :cclose<CR>
"nnoremap <F3> :cn<CR>
"nnoremap <F4> :cp<CR>
" vim 用 map 命令来映射快捷键,它前面可以加一些前缀来对应
" 不同的场景.下面 map 前面的 nore 表示非递归. nore 前面
" 的n表示只在普通模式下生效.即,基于下面的配置,在插入模式下,
" 按F6没有这个映射效果.插入模式对应i. 下面配置cscope查找
" 文件命令的快捷键为F6,由于需要手动输入文件名,不要加<CR>
"nnoremap <F6> :cs find f<Space>

" 如果要去掉高亮显示搜索到的内容,需要再次搜索一些不存在的字符串,
" 比较麻烦.可以在vim的命令行中执行nohlsearch命令去掉当前高亮.
" 下面的 nohlsearch 以 : 开头表示在命令行执行.
""nnoremap <F9> :nohlsearch<CR>
" 插入模式下也用F9来去掉搜索高亮.下面的<C-o>表示CTRL-O.
" CTRL-O键可以在插入模式执行一次命令
""inoremap <F9> <C-o>:nohlsearch<CR>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-

" 允许backspace和光标键跨越行边界
set whichwrap+=<,>,h,l
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key

" 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=1

" 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3
" 为C程序提供自动缩进
set smartindent


set ruler                   " 打开状态栏标尺
set cursorline              " 突出显示当前行
set magic                   " 设置魔术
set guioptions-=T           " 隐藏工具栏
set guioptions-=m           " 隐藏菜单栏

if (has("gui_running"))
    set guioptions+=b
    "colo torte
    colo blue
    set nowrap
else
    "colo ron
    colo evening 
    "colo blue
    set wrap
endif

"搜索忽略大小写
set ignorecase

"搜索逐字符高亮
set hlsearch
set incsearch

" 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3

" 允许backspace和光标键跨越行边界
set whichwrap+=<,>,h,l

" 增强模式中的命令行自动完成操作
set wildmenu

" 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=3

" 我的状态行显示的内容(包括文件类型和解码)
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]

"禁止生成临时文件
set nobackup
set noswapfile

"共享剪贴板  
set clipboard=unnamed 

3、安装插件

这是一个博主写的安装步骤可以看看->Linux 系统基础 - 安装 4 个能提高效率的 vim 插件 登龙(DLonng)

第一种安装方法:

1.在命令行输入vim,回车

xRnbjI.png

2.在命令模式中输入PlugInstall,回车

xRnxUS.png

3.安装成功截图

xRupCQ.png

如果有x号说明有的插件没安装成功!

第二种安装方法:

直接在终端中输入vim +PlugInstall +qall

xRuu8J.png

这样有点不好的是安装完不会停留安装界面,不能查看是否都安装成功了。

4、安装中可能出现的错误

1.由于上面的插件的官网在外网,可能下载不成,用我上面两种安装方式都是一遍,实在不行那就得自己去把文件下载到本地~/.vim/bundle/中。

2.其中会出现大问题的是YuCompleteMe这个插件,这个插件是能代码提示,对CC++语法提示支持较好。

tps://imgse.com/i/xRnbjI)

2.在命令模式中输入PlugInstall,回车

](https://imgse.com/i/xRnxUS)

3.安装成功截图

xRupCQ.png
如果有x号说明有的插件没安装成功!

第二种安装方法:

直接在终端中输入vim +PlugInstall +qall

这样有点不好的是安装完不会停留安装界面,不能查看是否都安装成功了。

4、安装中可能出现的错误

1.由于上面的插件的官网在外网,可能下载不成,用我上面两种安装方式都是一遍,实在不行那就得自己去把文件下载到本地~/.vim/bundle/中。

2.其中会出现大问题的是YuCompleteMe这个插件,这个插件是能代码提示,对CC++语法提示支持较好。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
安装vim-plug的步骤如下: 1. 首先,使用命令`cd ~`切换到主目录。 2. 然后,使用命令`git clone https://github.com/junegunn/vim-plug`来获取vim-plug插件的源代码。 3. 接下来,使用命令`mkdir -p ~/.vim/autoload/`创建.vim/autoload/文件夹。 4. 然后,使用命令`cp ~/vim-plug/plug.vim ~/.vim/autoload/plug.vim`将plug.vim文件复制到.vim/autoload/文件夹中。 5. 现在,编辑~/.vimrc文件,并在其中添加需要安装的插件信息。例如,如果要安装"vim-cpp-enhanced-highlight"插件,可以在文件中添加以下内容: ``` set number call plug#begin('~/.vim/plugged') Plug 'octol/vim-cpp-enhanced-highlight' call plug#end() ``` 6. 保存并关闭~/.vimrc文件。 7. 运行命令`:source ~/.vimrc`重新加载配置文件。 8. 最后,打开vim,使用命令`:PlugInstall`来安装插件。如果需要卸载插件,可以使用命令`:PlugClean`。请注意,在使用这些命令之前,先要安装Windows版本的Git。 通过以上步骤,你就可以成功安装vim-plug插件了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [vim-plug插件安装](https://blog.csdn.net/m0_48432283/article/details/123950518)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Linux系统Ubuntu vim安装plugin](https://blog.csdn.net/OyingshuiO/article/details/121623380)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里狼~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值