vim的安裝以及配置

來源:互聯網
上載者:User

首先,安裝vim的時候(建議在我們工大的實驗室上面安裝,先改掉源,具體看後面如何修改源的介紹),直接在命令列中輸入sudo apt-get install vim-gtk,若發現提示不能裝的話,請往下看

 

正在讀取軟體包列表... 完成
正在分析軟體包的相依樹狀結構       
正在讀取狀態資訊... 完成       
有一些軟體包無法被安裝。如果您用的是 unstable 發行版,這也許是
因為系統無法達到您要求的狀態造成的。該版本中可能會有一些您需要的軟體
包尚未被建立或是它們已被從新到(Incoming)目錄移出。
下列資訊可能會對解決問題有所協助:

下列軟體包有未滿足的依賴關係:
 ia32-libs : 依賴: ia32-libs-multiarch
E: 無法修正錯誤,因為您要求某些軟體包保持現狀,就是它們破壞了軟體包間的依賴關係

------------------------

網上找不到合適的解決方案。

這裡其實只需要再輸多兩個命令(先更新,再修複依賴關係):

先輸入下面兩個命令,然後再sudo apt-get install vim-gtk

sudo apt-get update

sudo apt-get -f install 

 

在安裝vim的時候,若發現軟體包衝突了,具體情況如下

apt-get install vim 
正在讀取軟體包列表... 完成 
正在分析軟體包的相依樹狀結構 
正在讀取狀態資訊... 完成 
有一些軟體包無法被安裝。如果您用的是不穩定(unstable)發行版,這也許是 
因為系統無法達到您要求的狀態造成的。該版本中可能會有一些您需要的軟體 
包尚未被建立或是它們還在新到(incoming)目錄中。 
下列的軟體包有不能滿足的依賴關係: 
vim: 依賴: vim-common (= 1:7.1.314-3ubuntu3.1) 但是 2:7.2.079-1ubuntu5 正要被安裝 
E: 無法安裝的軟體包 

     這種問題就應該是軟體源的問題,源中的版本比較低;依賴的版本號碼比正要安裝的版本號碼要低導致沒法安裝。 
只需要將原來軟體源刪除,用新的軟體源替換一下就可以了

修改的方式是:首先在命令列中進入etc/apt,然後會有一個檔案sources.list,這時輸入命令sudo gedit sources.list

然後直接把下面的覆蓋到原檔案就行了(我們工大校內網很快,基本上能夠達到5MB/S左右吧)。

哈爾濱工業大學補救伺服器,包含其他開源鏡像:(工大的源貌似只能在實驗室或者我們基地才能用,在宿舍貌似連不上= =。宿舍的話,建議把源改為163的就好了,國內的源一般比國外的源快。另外如果某個軟體沒有合法的來源的話,建議換一個源,或者在剛安裝完ubuntu的時候,貌似需要先sudo apt-get update才能更新源,不然的話,在軟體中心那裡安裝不了軟體,提示說沒有合法的軟體來源。。。)
deb http://run.hit.edu.cn/ubuntu/ precise main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ precise-security main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ precise-updates main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ precise-backports main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ precise-proposed main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ precise main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ precise-security main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ precise-updates main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ precise-proposed main restricted universe multiverse

連結(其他源地址):http://hi.baidu.com/zhangfeezju/blog/item/8f96bdde15f8b90c495403cd.html

 

 

vim的設定檔的修改:

首先,在命令列下進入etc/vim,裡面有檔案vimrc,然後在命令列下輸入sudo gedit vimrc,然後系統會用類似於記事本開啟vimrc,然後把自己的設定檔複製到檔案的後面,

你的vim設定檔就配置成功了。

下面是我的vim配置(跟隨別人的風格,感覺跟codeblocks差不多)。 

 

set encoding=utf-8set termencoding=utf-8set fileencodings=utf-8,chinese,latin-1if has("win32") set fileencoding=chineseelse set fileencoding=utf-8endiflanguage messages zh_CN.utf-8" 設定不與以前版本兼 set nocompatible  " 設定色彩配置"colorscheme murphy  " 顯示行號set nu" 偵測檔案類型filetype on" 設定當檔案被改動時自動載入set autoread" 記錄曆史的行數set history=100" 顯示文法高亮syntax enablesyntax on" 在處理未儲存或唯讀檔案的時候,彈出確認set confirm" 與windows共用剪貼簿set clipboard+=unnamed" 載入檔案類型外掛程式filetype plugin on" 為特定檔案類型載入相關縮排檔案filetype indent on" 儲存全域變數set viminfo+=!" 帶有如下符號的單詞不要被換行分割set iskeyword+=_,$,@,%,#,-" 設定滑鼠一直可用set mouse=a" 高亮當前行set cursorline" 命令列高度set cmdheight=1" 啟動的時候不顯示那個援助索馬里兒童的提示set shortmess=atI" 不讓vim發出討厭的滴滴聲set noerrorbells" 在被分割的視窗間顯示空白,便於閱讀set fillchars=vert:\ ,stl:\ ,stlnc:\""""""""""""""""""""""""""""" 檔案設定""""""""""""""""""""""""""""" 不要備份檔案(覆蓋檔案時不備份)set nobackup" 不要產生swap檔案,當buffer被丟棄的時候隱藏它setlocal noswapfileset bufhidden=hide" 字元間插入的像素行數目set linespace=0" 增強模式中的命令列自動完成操作set wildmenu" 置粘貼模式,使得粘貼不錯位" set paste " 儲存檔案,用習慣了Ctrl+S了" nmap <C-s> <esc>:w<CR>" imap <C-s> <esc>:w<CR>noremap <C-S> :update<CR>vnoremap <C-S> <C-C>:update<CR>inoremap <C-S> <C-O>:update<CR> """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 搜尋和匹配"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 高亮顯示匹配的括弧set showmatch" 高亮顯示被找到的句子(phrases)"set hlsearch" 在搜尋時,輸入的詞句的逐字元高亮(類似firefox的搜尋),即輸入搜尋內容時就顯示搜尋結果set incsearch" 搜尋時忽略大小寫set ignorecase" 不要閃爍set novisualbell """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 文字格式設定和排版"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 自動格式化set formatoptions=tcrqn" 繼承前一行的縮排方式,特別適用於多行注釋set autoindent" 為C程式提供自動縮排set smartindent" 使用C樣式的縮排set cindent" 定位字元為4set tabstop=4" 統一縮排為4" 使得按退格鍵時可以一次刪掉 4 個空格set softtabstop=4" 設定 << 和 >> 命令移動時的寬度為 4set shiftwidth=4" 不要用空格代替定位字元set noexpandtab" 設定每行120個字元自動換行set textwidth=120          " 自動切換目前的目錄為當前檔案所在的目錄set autochdir" 摺疊代碼set foldmethod=syntax" 檔案開啟時不摺疊set foldlevel=100             """"""""""""""""""""""""""""""""""""""""""""自動執行個體括弧"""""""""""""""""""""""""""""""""""""""""""inoremap ( ()<ESC>iinoremap ) <c-r>=ClosePair(')')<CR>inoremap { {}<ESC>iinoremap } <c-r>=ClosePair('}')<CR>inoremap [ []<ESC>iinoremap ] <c-r>=ClosePair(']')<CR>inoremap ' ''<ESC>iinoremap " ""<ESC>ifunction ClosePair(char) if getline('.')[col('.') - 1] == a:char  return "\<Right>" else  return a:char endifendf """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set mapleader"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""let mapleader = ","" platformfunction! MySys()        if has("win32")                return "windows"        else                return "linux"        endifendfunction" if file not opened, create a new tab, or switch to the opened filefunction! SwitchToBuf(filename)        " find in current tab        let bufwinnr = bufwinnr(a:filename)        if bufwinnr != -1                exec bufwinnr . "wincmd w"                return        else                " search each tab                tabfirst                let tb = 1        while tb <= tabpagenr("$")                        let bufwinnr = bufwinnr(a:filename)                        if bufwinnr != -1                                exec "normal " . tb . "gt"                                exec bufwinnr . "wincmd w"                                return                        endif                        tabnext                        let tb = tb +1                endwhile                " not exist, new tab                exec "tabnew " . a:filename        endifendfunction" fast edit .vimrcif MySys() == 'linux'        " fast reloading of the .vimrc        map <silent> <leader>ss :source ~/.vimrc<cr>        " fast editing of the .vimrc        map <silent> <leader>ee :call SwitchToBuf("~/.vimrc")<cr>        " when .vimrc is edited, reload it        autocmd! bufwritepost .vimrc source ~/.vimrcelseif MySys() == 'windows'        " Set helplang    set helplang=cn    "Fast reloading of the _vimrc    map <silent> <leader>ss :source ~/_vimrc<cr>    "Fast editing of _vimrc    map <silent> <leader>ee :call SwitchToBuf("~/_vimrc")<cr>    "When _vimrc is edited, reload it    autocmd! bufwritepost _vimrc source ~/_vimrcendifif MySys() == 'windows'    source $VIMRUNTIME/mswin.vim    behave mswinendif""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 外掛程式""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""加入工程使得能夠訪問ctags"""""""""""""""""""""""""""""""project1"set tags=tagsset autochdir"後面的工程加在tags變數上""""""""""""""""""""""""""""""" 設定Taglist""""""""""""""""""""""""""""""" 按照名稱排序let Tlist_Sort_Type = "name"" 在右側顯示視窗let Tlist_Use_left_Window = 1" 如果只有一個buffer,kill視窗也kill掉bufferlet Tlist_Exist_OnlyWindow = 1" 使taglist只顯示當前檔案tag,其它檔案的tag都被摺疊起來(同時顯示多個檔案中的tag時)let Tlist_File_Fold_Auto_Close = 1" 不要顯示摺疊樹let Tlist_Enable_Fold_Column = 1"不同時顯示多個檔案的tag,只顯示當前檔案的let Tlist_Show_One_File = 1 " 鍵盤對應nmap tl :TlistToggle<cr>""""""""""""""""""""""""""""""""""""""""""""""設定 winManager winManager管理netrw和Taglist。"""""""""""""""""""""""""""""""""""""""""""""let g:winManagerWindowLayout = "FileExplorer|TagList"let g:persistentBehaviour = 0let g:winManagerWidth = 30let g:defaultExplorer = 0nmap <C-W><C-F> :FirstExplorerWindow<cr>nmap <C-W><C-B> :BottomExplorerWindow<cr>"nmap <silent> <F8> :WMToggle<cr>nmap wm :WMToggle<cr>"設定 netrw"""""""""""""""""""""""""""""""let g:netrw_winsize = 30"nmap <silent> <leader>fe :Sexplore!<cr>"let Tlist_File_Fold_Auto_Close=1" 快速切換標頭檔/源檔案"nnoremap <silent><F12>:A<cr>""nmap <silent><F12>:A<CR>"在工程中快速尋找"nnoremap <silent><F3>:Grep<cr>"""""""""""""""""""""""""""""""設定 MiniBufExploer""""""""""""""""""""""""""""""" quickfix模式autocmd FileType c,cpp  map <buffer> <leader><space> :w<cr>:make<cr> """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""F5編譯和運行C++程式"F6編譯和運行C程式""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" C的編譯和運行map <F6> :call CompileRunGcc()<CR>func! CompileRunGcc()exec "w"exec "!gcc % -o %<"exec "! ./%<"endfunc" C++的編譯和運行map <F5> :call CompileRunGpp()<CR>func! CompileRunGpp()exec "w"exec "!g++ % -o %<"exec "! ./%<"endfunc  source $VIMRUNTIME/vimrc_example.vimsource $VIMRUNTIME/mswin.vimbehave mswinset diffexpr=MyDiff()function MyDiff()  let opt = '-a --binary '  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif  let arg1 = v:fname_in  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif  let arg2 = v:fname_new  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif  let arg3 = v:fname_out  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif  let eq = ''  if $VIMRUNTIME =~ ' '    if &sh =~ '\<cmd'      let cmd = '""' . $VIMRUNTIME . '\diff"'      let eq = '"'    else      let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'    endif  else    let cmd = $VIMRUNTIME . '\diff'  endif  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eqendfunction " 自動補全(ctrl-p)時的一些選項: 多於一項時顯示菜單,最長選擇; 顯示當前選擇的額外資訊if v:version >= 700    set completeopt=menu,longest,preview                    endif """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 狀態行相關動作"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 顯示狀態列 (預設值為 1, 無法顯示狀態列)set laststatus=2" 狀態行顏色highlight StatusLine guifg=SlateBlue guibg=Yellowhighlight StatusLineNC guifg=Gray guibg=Whitefunction! CurDir()    let curdir = substitute(getcwd(), '/Users/amir/', "~/", "g")return curdirendfunction""""""""""""""""""""""""""""""""狀態行顯示內容"""""""""""""""""""""""""""""""" %F 當前檔案名稱" %m    當前檔案修改狀態" %r    當前檔案是否唯讀" %Y    當前檔案類型" %{&fileformat}     當前檔案編碼" %b    當前游標處字元的 ASCII 碼值" %B    當前游標處字元的十六進位值" %l    當前游標行號" %c    當前游標列號" %V    當前游標虛擬列號 (根據字元所佔位元組數計算)" %p    當前行佔總行數的百分比" %%    百分比符號" %L    當前檔案總行數     set statusline=\ %F%m%r%h\ %w\ \ CWD:\ %r%{CurDir()}%h\ \ \ Line:\ %l/%L:%c                            " 設定在狀態行顯示的資訊如下:                            "                                                       set nowrapscan"Highlight currentif has("gui_running")  set cursorline  hi cursorline guibg=#333333  hi CursorColumn guibg=#333333endif"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" => VIM userinterface""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""Set 7 lines to the curors - when moving vertical..set so=7"Do not redraw, when running macros.. lazyredrawset lz"Change buffer - without savingset hid"Set magic onset magic"How many tenths of a second to blinkset mat=2set lines=40set columns=100""""""""""""""""""""""""""""""""""""""""""""""""""""功能表列、工具列顯示與隱藏的切換"""""""""""""""""""""""""""""""""""""""""""""""""""set guioptions-=Tset guioptions-=mmap <silent> <F4> :if &guioptions =~# 'T' <Bar>        \set guioptions-=T <Bar>        \set guioptions-=m <bar>    \else <Bar>        \set guioptions+=T <Bar>        \set guioptions+=m <Bar>    \endif<CR>""""""""""""""""""""""""""""""""""""""""""""""""""""" 日曆外掛程式設定""""""""""""""""""""""""""""""""""""""""""""""""""""" let g:calendar_diary = /calendar" map ca :Calendar<cr> " 讓 gvim 支援 Alt+n 來切換標籤頁function! BufPos_ActivateBuffer(num)    let l:count = 1    for i in range(1, bufnr("$"))        if buflisted(i) && getbufvar(i, "&modifiable")            if l:count == a:num                exe "buffer " . i                return            endif            let l:count = l:count + 1        endif    endforendfunction

  

2013.1.5日,發現吳垠學長一文《手把手教你把Vim改裝成一個IDE編程環境(圖文)》寫的很詳細,我上面的獻醜了= =。

附上他的連結http://blog.csdn.net/wooin/article/details/1858917

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.