亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問vim 該怎么避免重復的bundleInstall?

請問vim 該怎么避免重復的bundleInstall?

料青山看我應如是 2022-04-07 11:07:28
將別人的。vimrc的配置文件拷貝過來之后,插件安裝完了, 但是現在每次vim打開文件都需要使用bundleInstall加載一次插件,如何避免?
查看完整描述

1 回答

?
DIEA

TA貢獻1820條經驗 獲得超3個贊

把別人的配置腳本拷貝過來之后,是使用vundle進行插件管理的,所以的插件都安裝完成之后,發現每次使用vim打開新的文件的時候都需要重新使用bundleInstall才能使用插件,在腳本寫什么才能不做這重復的工作?

此外,.vimrc的這句話被我注釋掉了:
call vundle#end()
因為不注釋掉,使用vim打開文件后就莫名的stopped了,會有影響什么的嗎?

配置文件如下
========================================.vimrc=======================================
" ***************** 全局設置 ************** "
"保持文件上次打開的位置
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif

" 開啟文件類型偵測
filetype on
" 根據偵測到的不同類型加載對應的插件
filetype plugin on

" 自動縮進
filetype indent on

" 開啟語法高亮功能
syntax enable
" 允許用指定語法高亮配色方案替換默認方案
syntax on

set nocompatible "關閉兼容模式
set incsearch "開啟實時搜索功能
set ignorecase "搜索忽略大小寫
set wildmenu "vim命令自動補全
set autoread "文件自動更新
set gcr=a:block-blinkon0 "禁止關閉閃爍
set laststatus=2 "總是顯示狀態欄
set ruler "顯示光標位置
set number "顯示行號
set cursorline "高亮顯示當前行
"set cursorcolumn "高亮顯示當前列
set hlsearch "高亮顯示搜索結果
" set nowrap "禁止折行
set backspace=2 "回退鍵生效
"set backspace=indent,eol,start
set novisualbell

" 禁止顯示滾動條
set guioptions-=l
set guioptions-=L
set guioptions-=r
set guioptions-=R

" 禁止顯示菜單和工具條
set guioptions-=m
set guioptions-=T

" 將制表符擴展為空格
set expandtab
" 設置編輯時制表符占用空格數
set tabstop=4
" 設置格式化時制表符占用空格數
set shiftwidth=4
" 讓 vim 把連續數量的空格視為一個制表符
set softtabstop=4
" 基于縮進或語法進行代碼折疊
set foldmethod=syntax
" 啟動 vim 時關閉折疊代碼
set nofoldenable
" 交互式打開shell
set shell=bash\ -i

" *************** 設置全局快捷鍵 *****************

" 定義快捷鍵的前綴,即<Leader>
"let mapleader="\<space>"
let mapleader="'"

" 設置快捷鍵將選中文本塊復制至系統剪貼板
vnoremap <Leader>y "+y

" 設置快捷鍵將系統剪貼板內容粘貼至 vim
nmap <Leader>p "+p

" 定義快捷鍵關閉當前分割窗口
nmap <Leader>q :q<CR>

" 定義快捷鍵保存當前窗口內容
nmap <Leader>w :w<CR>

" 定義快捷鍵保存所有窗口內容并退出 vim
"nmap <Leader>WQ :wa<CR>:q<CR>

" 不做任何保存,直接退出 vim

" YCM 補全菜單配色
" 菜單
"highlight Pmenu ctermfg=2 ctermbg=3 guifg=#005f87 guibg=#EEE8D5
" 選中項
"highlight PmenuSel ctermfg=2 ctermbg=3 guifg=#AFD700 guibg=#106900
"設置ycm的pyhton編譯器
let g:ycm_server_python_interpreter='/usr/bin/python'

" 補全功能在注釋中同樣有效
let g:ycm_complete_in_comments=1
" 允許 vim 加載 .ycm_extra_conf.py 文件,不再提示
let g:ycm_confirm_extra_conf=0
" 開啟 YCM 標簽補全引擎
let g:ycm_collect_identifiers_from_tags_files=1
" 引入 C++ 標準庫tags
set tags+=/data/misc/software/misc./vim/stdcpp.tags
" YCM 集成 OmniCppComplete 補全引擎,設置其快捷鍵
"inoremap <leader>; <C-x><C-o>
" 補全內容不以分割子窗口形式出現,只顯示補全列表
set completeopt-=preview
" 從第一個鍵入字符就開始羅列匹配項
let g:ycm_min_num_of_chars_for_completion=1
" 禁止緩存匹配項,每次都重新生成匹配項
let g:ycm_cache_omnifunc=0
" 語法關鍵字補全
let g:ycm_seed_identifiers_with_syntax=1
let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'
"let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'

""" color settings
""" Solarized """
"let g:solarized_termcolors=16
set t_Co=256
if has("gui_running")
set guioptions=gR
set mousemodel=popup
set background=light
""hi LineNr cterm=bold guibg=black guifg=white
""hi CursorLine cterm=none ctermbg=lightgray ctermfg=none
""hi CursorColumn cterm=none ctermbg=lightgray ctermfg=none
else
set background=dark
""hi LineNr cterm=bold ctermbg=black ctermfg=white
""hi CursorLine cterm=none ctermbg=darkgray ctermfg=none
""hi CursorColumn cterm=none ctermbg=darkgray ctermfg=none
endif
colorscheme solarized
"colorscheme default

" indent guides
"let g:indent_guides_enable_on_vim_startup=1
" 從第二層開始可視化顯示縮進
let g:indent_guides_start_level=2
"let g:indent_guides_auto_colors = 0
"hi IndentGuidesOdd guibg=red ctermbg=3
"hi IndentGuidesEven guibg=green ctermbg=4
" 色塊寬度
let g:indent_guides_guide_size=1
" 快捷鍵 i 開/關縮進可視化
noremap <Leader>sj :IndentGuidesToggle<CR>
"nmap <Leader>Q :qa!<CR>

" 依次遍歷子窗口
nnoremap nw <C-W><C-W>

" 跳轉至右方的窗口
nnoremap <Leader>l <C-W>l

" 跳轉至左方的窗口
nnoremap <Leader>h <C-W>h

" 跳轉至上方的子窗口
nnoremap <Leader>k <C-W>k

" 跳轉至下方的子窗口
nnoremap <Leader>j <C-W>j

" 定義快捷鍵在結對符之間跳轉
nmap <Leader>M %

nnoremap <Leader>g <C-]>
nnoremap <Leader>b <C-t>

" ************** 插件管理與設置 ************ "

" vundle 環境設置
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
" vundle 管理的插件列表必須位于 vundle#begin() 和 vundle#end() 之間
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'Lokaltog/vim-powerline' "status 美化
Plugin 'octol/vim-cpp-enhanced-highlight' "對c++語法高亮增強
Plugin 'kshenoy/vim-signature' "書簽可視化的插件
Plugin 'vim-scripts/BOOKMARKS--Mark-and-Highlight-Full-Lines' "書簽行高亮
Plugin 'majutsushi/tagbar' "taglist的增強版,查看標簽,依賴于ctags
Plugin 'scrooloose/nerdcommenter' "多行注釋,leader鍵+cc生成, leader+cu刪除注釋
Plugin 'scrooloose/nerdtree' "文件瀏覽
Plugin 'Valloric/YouCompleteMe' "自動補全
Plugin 'kien/ctrlp.vim' "搜索歷史打開文件,在命令行模式下按ctrl+p觸發
Plugin 'vim-scripts/grep.vim' "在命令行模式使用grep命令,:Grep
Plugin 'Lokaltog/vim-easymotion' "快速跳轉,按兩下leader鍵和f組合
Plugin 'vim-scripts/ShowTrailingWhitespace.git' "高亮顯示行尾的多余空白字符
Plugin 'vim-scripts/indentpython.vim.git'
Plugin 'vim-scripts/Solarized.git' "主題方案
Plugin 'nathanaelkane/vim-indent-guides.git' "縮進對齊顯示
"Plugin 'vim-scripts/indexer.tar.gz' "自動生成標簽
"Plugin 'vim-scripts/DfrankUtil' "indexer 依賴
"Plugin 'vim-scripts/vimprj' "indexer 依賴
Plugin 'davidhalter/jedi-vim' "python 補全,不依賴于tags,但比較慢,可以使用indexer替換,但不能跳轉項目外
Plugin 'vim-scripts/Markdown'
Plugin 'tpope/vim-surround'
Plugin 'ekalinin/Dockerfile.vim'
" 插件列表結束

"call vundle#end()
filetype on

" Powerline 設置
" 設置狀態欄主題風格
let g:Powerline_colorscheme='solarized256'

" 設置tagbar
" 設置 tagbar 子窗口的位置出現在主編輯區的左邊
let tagbar_left=1
" " 設置顯示/隱藏標簽列**窗口的快捷鍵。速記:identifier list by tag
nnoremap <Leader>t :TagbarToggle<CR>
" " 設置標簽子窗口的寬度
let tagbar_width=32
" " tagbar 子窗口中不顯示冗余幫助信息
let g:tagbar_compact=1
" " 設置 ctags 對哪些代碼標識符生成標簽

" signature設置
let g:SignatureMap = {
\ 'Leader' : "m",
\ 'PlaceNextMark' : "m,",
\ 'ToggleMarkAtLine' : "m.",
\ 'PurgeMarksAtLine' : "m-",
\ 'DeleteMark' : "dm",
\ 'PurgeMarks' : "mda",
\ 'PurgeMarkers' : "m<BS>",
\ 'GotoNextLineAlpha' : "']",
\ 'GotoPrevLineAlpha' : "'[",
\ 'GotoNextSpotAlpha' : "`]",
\ 'GotoPrevSpotAlpha' : "`[",
\ 'GotoNextLineByPos' : "]'",
\ 'GotoPrevLineByPos' : "['",
\ 'GotoNextSpotByPos' : "mn",
\ 'GotoPrevSpotByPos' : "mp",
\ 'GotoNextMarker' : "[+",
\ 'GotoPrevMarker' : "[-",
\ 'GotoNextMarkerAny' : "]=",
\ 'GotoPrevMarkerAny' : "[=",
\ 'ListLocalMarks' : "ms",
\ 'ListLocalMarkers' : "m?"
\ }

" 使用 NERDTree 插件查看工程文件。設置快捷鍵,速記:file list
nmap <Leader>f :NERDTreeToggle<CR>
" 設置NERDTree子窗口寬度
let NERDTreeWinSize=32
" 設置NERDTree子窗口位置
let NERDTreeWinPos="right"
" 顯示隱藏文件
let NERDTreeShowHidden=1
" NERDTree 子窗口中不顯示冗余幫助信息
let NERDTreeMinimalUI=1
" 刪除文件時自動刪除文件對應 buffer
let NERDTreeAutoDeleteBuffer=1



查看完整回答
反對 回復 2022-04-11
  • 1 回答
  • 0 關注
  • 220 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號