Package vim is not available, but is referred to by another package及我的vim配置


新安裝的ubuntu,先安裝vim,但是安裝出現

    Reading package lists... Done  
    Building dependency tree         
    Reading state information... Done  
    Package vim is not available, but is referred to by another package.  
    This may mean that the package is missing, has been obsoleted, or  
    is only available from another source  
    E: Package vim has no installation candidate  

[解決方案]:

sudo apt-get update && sudo apt-get install vim  

時間可能有點長

我個人的vim配置,比較習慣,是參考一個大哥的寫法,

上面是自動添加的東西,主要配置在.vimrc中,還有其他的地方,放在這里主要也是為自己備份

  1 map <F9> :call SaveInputData()<CR>
  2 func! SaveInputData()
  3     exec "tabnew"
  4     exec 'normal "+gP'
  5     exec "w! /tmp/input_data"
  6 endfunc
  7 "colorscheme torte
  8 "colorscheme murphy
  9 "colorscheme desert 
 10 "colorscheme desert 
 11 "colorscheme elflord
 12 colorscheme ron
 13 
 14 "my setting"
 15 
 16 "tags"
 17 ":set tags=/home/jyg/linux-2.6.35.7/tags
 18 
 19 "remember last update or view postion"
 20 if has("autocmd") 
 21 " In text files, always limit the width of text to 78 characters 
 22  autocmd BufRead *.txt set tw=78 
 23 " When editing a file, always jump to the last cursor position 
 24  autocmd BufReadPost * 
 25  \ if line("'\"") > 0 && line ("'\"") <= line("$") | 
 26  \ exe "normal g'\"" | 
 27  \ endif 
 28  endif
 29 
 30 "end of my setting"
 31 
 32 
 33 "set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
 34 "set termencoding=utf-8
 35 "set encoding=utf-8
 36 "set fileencodings=ucs-bom,utf-8,cp936
 37 "set fileencoding=utf-8
 38 
 39 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 40 " 顯示相關  
 41 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 42 "set shortmess=atI   " 啟動的時候不顯示那個援助烏干達兒童的提示  
 43 "winpos 5 5          " 設定窗口位置  
 44 "set lines=40 columns=155    " 設定窗口大小  
 45 set go=             " 不要圖形按鈕  
 46 "color asmanian2     " 設置背景主題  
 47 "set guifont=Courier_New:h10:cANSI   " 設置字體  
 48 "syntax on           " 語法高亮  
 49 autocmd InsertLeave * se nocul  " 用淺色高亮當前行  
 50 autocmd InsertEnter * se cul    " 用淺色高亮當前行  
 51 "set ruler           " 顯示標尺  
 52 set showcmd         " 輸入的命令顯示出來,看的清楚些  
 53 "set cmdheight=1     " 命令行(在狀態行下)的高度,設置為1  
 54 "set whichwrap+=<,>,h,l   " 允許backspace和光標鍵跨越行邊界(不建議)  
 55 "set scrolloff=3     " 光標移動到buffer的頂部和底部時保持3行距離  
 56 set novisualbell    " 不要閃爍(不明白)  
 57 set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}   "狀態行顯示的內容  
 58 set laststatus=1    " 啟動顯示狀態行(1),總是顯示狀態行(2)  
 59 set foldenable      " 允許折疊  
 60 set foldmethod=manual   " 手動折疊  
 61 "set background=dark "背景使用黑色 
 62 set nocompatible  "去掉討厭的有關vi一致性模式,避免以前版本的一些bug和局限  
 63 " 顯示中文幫助
 64 "if version >= 603
 65     set helplang=cn
 66     set encoding=utf-8
 67 "endif
 68 " 設置配色方案
 69 "colorscheme murphy
 70 "字體 
 71 "if (has("gui_running")) 
 72 "   set guifont=Bitstream\ Vera\ Sans\ Mono\ 10 
 73 "endif 
 74 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 75 """""新文件標題
 76 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 77 "新建.c,.h,.sh,.java文件,自動插入文件頭 
 78 autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()" 
 79 ""定義函數SetTitle,自動插入文件頭 
 80 func SetTitle() 
 81     "如果文件類型為.sh文件 
 82     if &filetype == 'sh' 
 83         call setline(1,"\#########################################################################") 
 84         call append(line("."), "\# File Name: ".expand("%")) 
 85         call append(line(".")+1, "\# Author: jiuyueguang") 
 86         call append(line(".")+2, "\# mail: jiuyueguang@126.com") 
 87         call append(line(".")+3, "\# Created Time: ".strftime("%c")) 
 88         call append(line(".")+4, "\#########################################################################") 
 89         call append(line(".")+5, "\#!/bin/bash") 
 90         call append(line(".")+6, "") 
 91     else 
 92         call setline(1, "/*************************************************************************")
 93         call append(line("."), "    > File Name: ".expand("%")) 
 94         call append(line(".")+1, "    > Author: jiuyueguang") 
 95         call append(line(".")+2, "    > Mail: jiuyueguang@126.com") 
 96         call append(line(".")+3, "    > Created Time: ".strftime("%c")) 
 97         call append(line(".")+4, " ************************************************************************/") 
 98         call append(line(".")+5, "")
 99     endif
100     if &filetype == 'cpp'
101         call append(line(".")+6, "#include<iostream>")
102         call append(line(".")+7, "using namespace std;")
103         call append(line(".")+8, "int main(int argc,char *argv[]){")
104         call append(line(".")+9, "    ")
105         call append(line(".")+10,"    return 0;")
106         call append(line(".")+11, "}")
107     endif
108     if &filetype == 'c'
109         call append(line(".")+6, "#include<stdio.h>")
110         call append(line(".")+7, "int main(int argc,char *argv[]){")
111         call append(line(".")+8, "    ")
112         call append(line(".")+9,"    return 0;")
113         call append(line(".")+10, "}")
114     endif
115     "    if &filetype == 'java'
116     "        call append(line(".")+6,"public class ".expand("%"))
117     "        call append(line(".")+7,"")
118     "    endif
119     "新建文件后,自動定位到文件末尾
120     autocmd BufNewFile * normal G
121 endfunc 
122 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
123 "鍵盤命令
124 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
125 
126 nmap <leader>w :w!<cr>
127 nmap <leader>f :find<cr>
128 
129 " 映射全選+復制 ctrl+a
130 map <C-A> ggVGY
131 map! <C-A> <Esc>ggVGY
132 map <F12> gg=G
133 " 選中狀態下 Ctrl+c 復制
134 vmap <C-c> "+y
135 "去空行  
136 nnoremap <F2> :g/^\s*$/d<CR> 
137 "比較文件  
138 nnoremap <C-F2> :vert diffsplit 
139 "新建標簽  
140 map <M-F2> :tabnew<CR>  
141 "列出當前目錄文件  
142 map <F3> :tabnew .<CR>  
143 "打開樹狀文件目錄  
144 map <C-F3> \be  
145 "C,C++ 按F5編譯運行
146 map <F5> :call CompileRunGcc()<CR>
147 func! CompileRunGcc()
148     exec "w"
149     if &filetype == 'c'
150         exec "!g++ % -o %<"
151         exec "! ./%<"
152     elseif &filetype == 'cpp'
153         exec "!g++ % -o %<"
154         exec "! ./%<"
155     elseif &filetype == 'java' 
156         exec "!javac %" 
157         exec "!java %<"
158     elseif &filetype == 'sh'
159         :!./%
160     elseif &filetype == 'py'
161         exec "!python %"
162         exec "!python %<"
163     endif
164 endfunc
165 "C,C++的調試
166 map <F8> :call Rungdb()<CR>
167 func! Rungdb()
168     exec "w"
169     exec "!g++ % -g -o %<"
170     exec "!gdb ./%<"
171 endfunc
172
175 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
176 ""實用設置
177 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
178 " 設置當文件被改動時自動載入
179 set autoread
180 " quickfix模式
181 autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr>
182 "代碼補全 
183 set completeopt=preview,menu 
184 "允許插件  
185 filetype plugin on
186 "共享剪貼板  
187 set clipboard+=unnamed 
188 "從不備份  
189 set nobackup
190 "make 運行
191 :set makeprg=g++\ -Wall\ \ %
192 "自動保存
193 set autowrite
194 set ruler                   " 打開狀態欄標尺
195 set cursorline              " 突出顯示當前行
196 set magic                   " 設置魔術
197 set guioptions-=T           " 隱藏工具欄
198 set guioptions-=m           " 隱藏菜單欄
199 "set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
200 " 設置在狀態行顯示的信息
201 set foldcolumn=0
202 set foldmethod=indent 
203 set foldlevel=3 
204 set foldenable              " 開始折疊
205 " 不要使用vi的鍵盤模式,而是vim自己的
206 set nocompatible
207 " 語法高亮
208 set syntax=on
209 " 去掉輸入錯誤的提示聲音
210 set noeb
211 " 在處理未保存或只讀文件的時候,彈出確認
212 set confirm
213 " 自動縮進
214 set autoindent
215 set cindent
216 " Tab鍵的寬度
217 set tabstop=4
218 " 統一縮進為4
219 set softtabstop=4
220 set shiftwidth=4
221 " 不要用空格代替制表符
222 set noexpandtab
223 " 在行和段開始處使用制表符
224 set smarttab
225 " 顯示行號
226 set number
227 " 歷史記錄數
228 set history=1000
229 "禁止生成臨時文件
230 set nobackup
231 set noswapfile
232 "搜索忽略大小寫
233 set ignorecase
234 "搜索逐字符高亮
235 set hlsearch
236 set incsearch
237 "行內替換
238 set gdefault
239 "編碼設置
240 set enc=utf-8
241 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
242 "語言設置
243 set langmenu=zh_CN.UTF-8
244 set helplang=cn
245 " 我的狀態行顯示的內容(包括文件類型和解碼)
246 "set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
247 "set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
248 " 總是顯示狀態行
249 set laststatus=2
250 " 命令行(在狀態行下)的高度,默認為1,這里是2
251 set cmdheight=2
252 " 偵測文件類型
253 filetype on
254 " 載入文件類型插件
255 filetype plugin on
256 " 為特定文件類型載入相關縮進文件
257 filetype indent on
258 " 保存全局變量
259 set viminfo+=!
260 " 帶有如下符號的單詞不要被換行分割
261 set iskeyword+=_,$,@,%,#,-
262 " 字符間插入的像素行數目
263 set linespace=0
264 " 增強模式中的命令行自動完成操作
265 set wildmenu
266 " 使回格鍵(backspace)正常處理indent, eol, start等
267 set backspace=2
268 " 允許backspace和光標鍵跨越行邊界
269 set whichwrap+=<,>,h,l
270 " 可以在buffer的任何地方使用鼠標(類似office中在工作區雙擊鼠標定位)
271 set mouse=a
272 set selection=exclusive
273 set selectmode=mouse,key
274 " 通過使用: commands命令,告訴我們文件的哪一行被改變過
275 set report=0
276 " 在被分割的窗口間顯示空白,便於閱讀
277 set fillchars=vert:\ ,stl:\ ,stlnc:\
278 " 高亮顯示匹配的括號
279 set showmatch
280 " 匹配括號高亮的時間(單位是十分之一秒)
281 set matchtime=1
282 " 光標移動到buffer的頂部和底部時保持3行距離
283 set scrolloff=3
284 " 為C程序提供自動縮進
285 set smartindent
286 " 高亮顯示普通txt文件(需要txt.vim腳本)
287 au BufRead,BufNewFile *  setfiletype txt
288 "自動補全成對
289 :inoremap ( ()<ESC>i
290 :inoremap ) <c-r>=ClosePair(')')<CR>
291 :inoremap { {<CR>}<ESC>O
292 :inoremap } <c-r>=ClosePair('}')<CR>
293 :inoremap [ []<ESC>i
294 :inoremap ] <c-r>=ClosePair(']')<CR>
295 :inoremap " ""<ESC>i
296 :inoremap ' ''<ESC>i
297 function! ClosePair(char)
298     if getline('.')[col('.') - 1] == a:char
299         return "\<Right>"
300     else
301         return a:char
302     endif
303 endfunction
304 filetype plugin indent on 
305 "打開文件類型檢測, 加了這句才可以用智能補全
306 set completeopt=longest,menu
307 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
308 
309 "Taglist
310 let Tlist_Show_One_File=1
311 let Tlist_Exit_OnlyWindow=1
312 
313 
314 "NERDtee設定
315 let NERDChristmasTree=1
316 let NERDTreeAutoCenter=1
317 let NERDTreeBookmarksFile=$VIM.'\Data\NerdBookmarks.txt'
318 let NERDTreeMouseMode=2
319 let NERDTreeShowBookmarks=1
320 let NERDTreeShowFiles=1
321 let NERDTreeShowHidden=1
322 let NERDTreeShowLineNumbers=1
323 let NERDTreeWinPos='left'
324 let NERDTreeWinSize=31
325 nnoremap f :NERDTreeToggle
326 map <F7> :NERDTree<CR> 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM