新安裝的ubuntu,先安裝vim,可是安裝出現java
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
[解決方案]:python
sudo apt-get update && sudo apt-get install vim
時間可能有點長linux
我我的的vim配置,比較習慣,是參考一個大哥的寫法,ios
上面是自動添加的東西,主要配置在.vimrc中,還有其餘的地方,放在這裏主要也是爲本身備份ubuntu
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>