Linux虛擬機中vim的配置

第一步:

Vim安裝:首先將命令窗口切換成超用戶,然後在命令窗口輸入 yum install vim命令進入vim相關軟件的下載

wKiom1dpB76CPiBfAAEwS8TcJXA041.png-wh_50

wKioL1dpB87jhOugAADjL2AO76M250.png-wh_50

在命令窗口輸入# rpm -qa |grep vim查看vim相關軟件包是否已安裝

需安裝的vim相關軟件:

vim-enhanced-7.2.411-1.4.el6.x86_64

vim-common-7.2.411-1.4.el6.x86_64

vim-minimal-7.2.411-1.4.el6.x86_64

vim-X11-7.2.411-1.4.el6.x86_64

wKiom1dpCJaDZkDwAAA2bgZDpfQ623.png-wh_50

第二步:

配置vim,在超用戶下touch一個 .vimrc文件,然後ls -a查看文件是否建立成功

wKioL1dpCRLCWAU9AADz37_B_gg684.png-wh_50

在命令窗口輸入vim  .vimrc,進入配置窗口,輸入以下配置,並保存

wKiom1dpCWnyyEVSAABBYt8bkew255.png-wh_50

在配置窗口輸入以下配置:

set number                          顯示行號
set autoindent                     自動對齊
set smartindent                   智能對齊
set showmatch                    括號匹配模式
set ruler                               顯示狀態行
set incsearch                       搜索時一邊輸入一邊顯示效果
set tabstop=4                       tab鍵爲4個空格
set shiftwidth=4           縮進空格數爲4
set cindent                           C語言格式對齊
set nobackup                       不要備份文件
set clipboard+=unnamed     windows共享剪貼板
syntax on                             語法高亮

set mouse=a                         鼠標支持

set helplang=cn  

set encoding=utf-8  

set cscopequickfix=s-,c-,d-,i-,t-,e-  

nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR>  

nmap <C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR>  

nmap <C-_>c :cs find c <C-R>=expand("<cword>")<CR><CR>  

nmap <C-_>t :cs find t <C-R>=expand("<cword>")<CR><CR>  

nmap <C-_>e :cs find e <C-R>=expand("<cword>")<CR><CR>  

nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>  

nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>  

nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>  

let g:miniBufExplMapCTabSwitchBufs = 1  

let g:miniBufExplMapWindowNavVim = 1  

let g:miniBufExplMapWindowNavArrows = 1  

nnoremap <silent> <F12> :A<CR>  

nnoremap <silent> <F3> :Grep<CR>  

let g:SuperTabRetainCompletionType=2  

let g:SuperTabDefaultCompletionType="<C-X><C-O>"  

" 自動語法高亮  

 syntax on  

" 檢測文件類型  

filetype on  

" 檢測文件類型插件  

filetype plugin on  

" 不設定在插入狀態無法用退格鍵和 Delete 鍵刪除回車符  

set backspace=indent,eol,start  

set whichwrap+=<,>,h,l  

" 顯示行號  

set number  

" 上下可視行數  

set scrolloff=6  

" replace tab with space  

set expandtab  

" 設定 tab 長度爲 4  

set tabstop=4  

" 設置按BackSpace的時候可以一次刪除掉4個空格  

set softtabstop=4  

" 設定 << 和 >> 命令移動時的寬度爲 4  

set shiftwidth=4  

set smarttab  

set history=1024  

" 不突出顯示當前行  

set nocursorline  

" 覆蓋文件時不備份  

set nobackup  

" 自動切換當前目錄爲當前文件所在的目錄  

set autochdir  

" 搜索時忽略大小寫,但在有一個或以上大寫字母時仍大小寫敏感  

set ignorecase  

set smartcase  

" 搜索到文件兩端時不重新搜索  

set nowrapscan  

" 實時搜索  

set incsearch  

" 搜索時高亮顯示被找到的文本  

set hlsearch  

" 關閉錯誤聲音  

set noerrorbells  

set novisualbell  

"set t_vb=  

  

" 不自動換行  

"set nowrap  

"How many tenths of a second to blink  

set mat=2  

" 允許在有未保存的修改時切換緩衝區,此時的修改由 vim 負責保存  

set hidden  

" 智能自動縮進  

set smartindent  

" 設定命令行的行數爲 1  

set cmdheight=1  

" 顯示狀態欄 (默認值爲 1, 無法顯示狀態欄)  

set laststatus=2  

"顯示括號配對情況  

set showmatch  

  

" 解決自動換行格式下, 如高度在折行之後超過窗口高度結果這一行看不到的問題  

set display=lastline  

" 設定配色方案  

colorscheme evening  

" 設置在狀態行顯示的信息  

set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ [%{(&fenc==\"\"?&enc:&fenc).(&bomb?\",BOM\":\"\")}]\ %c:%l/%L%)  

  

" 顯示Tab符  

set list  

set listchars=tab:\|\ ,trail:.,extends:>,precedes:<  

"啓動時不顯示 捐贈提示  

set shortmess=atl  

  

"blank      空白  

"buffers    緩衝區  

"curdir     當前目錄  

"folds      摺疊  

"help       幫助  

"options    選項  

"tabpages   選項卡  

"winsize    窗口大小  

"slash      轉換文件路徑中的\爲/以使session文件兼容unix  

"unix       設置session文件中的換行模式爲unix  

set sessionoptions=blank,buffers,curdir,folds,help,options,tabpages,winsize,slash,unix,resize  

  

" 允許backspace和光標鍵跨越行邊界  

set whichwrap+=<,>,h,l  

" backspace  

set backspace=eol,start,indent  

  

" 可以在buffer的任何地方使用鼠標(類似office中在工作區雙擊鼠標定位)  

set mouse=a  

set selection=exclusive  

set selectmode=mouse,key  

  

" 在被分割的窗口間顯示空白,便於閱讀  

set fillchars=vert:\ ,stl:\ ,stlnc:\  

  

" 高亮顯示匹配的括號  

set showmatch  

  

" 匹配括號高亮的時間(單位是十分之一秒)  

set matchtime=5  

  

"編碼設置  

set enc=utf-8  

set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936  

  

" set mapleader  

let mapleader=","  

  

nmap J 5j  

nmap K 5k  

  

" Ctrl+a  

nmap <silent> <C-a> ggvG$  

  

" 選中狀態下 Ctrl+c 複製  

vnoremap <c-c> "+y  

  

" Ctrl+v  

nmap <silent> <C-v> "+p  

  

" 窗口切換  

nnoremap <c-h> <c-w>h  

nnoremap <c-l> <c-w>l  

nnoremap <c-j> <c-w>j  

nnoremap <c-k> <c-w>k  

  

" 插入模式下上下左右移動光標  

inoremap <c-h> <left>  

inoremap <c-l> <right>  

inoremap <c-j> <c-o>gj  

inoremap <c-k> <c-o>gk  

  

" Ctrl+s  

" If the current buffer has never been saved, it will have no name,  

" call the file browser to save it, otherwise just save it.  

"nnoremap <silent> <C-S> :if expand("%") == ""<CR>browse confirm w<CR>else<CR>confirm w<CR>endif<CR>  

"imap <c-s> <c-o><c-s><CR>  

" Use CTRL-S for saving, also in Insert mode  

nmap <C-S> :update<CR>  

vmap <C-S> <C-C>:update<CR>  

imap <C-S> <C-O>:update<CR>  

  

" C++的編譯和運行  

"map <F6> :call CompileRunGpp()<CR>  

"func! CompileRunGpp()  

"exec "w"  

"exec "!g++ % -o %<"  

"exec "! ./%<"  

"endfunc  

map <F10> :call RunGpp()<cr>    

func! RunGpp()    

exec "w"    

exec "! ./%<"    

endfunc    

  

"vim plugin setting  

  

"======================"  

set tags=tags  

set tags+=~/.vim/my-tags/tags  

set tags+=~/.vim/my-tags/stl-tags  

set tags+=~/.vim/my-tags/sys-tags  

set autochdir    

"Update ctags    

map <silent> <F8> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q<cr>   

  

""""""""""""""""""""""""""""""  

   " Tag list (ctags)  

""""""""""""""""""""""""""""""  

"if MySys() == "windows"                "設定windows系統中ctags程序的位置  

"   let Tlist_Ctags_Cmd = 'ctags'  

"elseif MySys() == "linux"              "設定Linux系統中ctags程序的位置  

   let Tlist_Ctags_Cmd = '/home/sphinx/.vim/ctags-5.8/ctags'  

"endif  

  

let Tlist_Show_One_File = 1            "不同時顯示多個文件的tag,只顯示當前文件的  

let Tlist_Exit_OnlyWindow = 1          "如果taglist窗口是最後一個窗口,則退出vim  

let Tlist_Use_Right_Window = 0         "在右側窗口中顯示taglist窗口  

let Tlist_OnlyWindow=1  

  

"let Tlist_Use_Right_Window=0  

"let Tlist_Sort_Type='name'  

"let Tlist_Show_Menu=1  

"let Tlist_Max_Submenu_Items=10  

"let Tlist_Max_Tag_length=16     "20  

"let Tlist_Use_SingleClick=0  

"let Tlist_Auto_Open=0  

"let Tlist_Close_On_Select=0  

"let Tlist_File_Fold_Auto_Close=1  

"let Tlist_GainFocus_On_ToggleOpen=0  

"let Tlist_Process_File_Always=1  

"let Tlist_WinHeight=10  

"let Tlist_WinWidth=18  

"let Tlist_Use_Horiz_Window=0  

  

let Tlist_Auto_Highlight_Tag = 1  

"let Tlist_Auto_Open = 1  

let Tlist_Auto_Update = 1  

let Tlist_Close_On_Select = 0  

let Tlist_Compact_Format = 0  

let Tlist_Display_Prototype = 0  

let Tlist_Display_Tag_Scope = 1  

let Tlist_Enable_Fold_Column = 0  

let Tlist_File_Fold_Auto_Close = 0  

let Tlist_GainFocus_On_ToggleOpen = 1  

let Tlist_Hightlight_Tag_On_BufEnter = 1  

let Tlist_Inc_Winwidth = 0  

let Tlist_Max_Submenu_Items = 1  

let Tlist_Max_Tag_Length = 30  

let Tlist_Process_File_Always = 0  

let Tlist_Show_Menu = 0  

let Tlist_Sort_Type = "order"  

let Tlist_Use_Horiz_Window = 0  

let Tlist_WinWidth = 31  

  

map <F12> :TlistOpen<CR>  

  

"OMNI  

"omnicppcoplete    

"-- omnicppcomplete setting --     

set completeopt=menu,menuone     

let OmniCpp_MayCompleteDot = 1     

" autocomplete with .     

let OmniCpp_MayCompleteArrow = 1     

" autocomplete with ->     

let OmniCpp_MayCompleteScope = 1     

" autocomplete with ::     

let OmniCpp_SelectFirstItem = 2     

" select first item (but don't insert)     

let OmniCpp_NamespaceSearch = 2     

" search namespaces in this and included files     

let OmniCpp_ShowPrototypeInAbbr = 1     

" show function prototype in popup window     

let OmniCpp_GlobalScopeSearch=1     

let OmniCpp_DisplayMode=1     

let OmniCpp_DefaultNamespaces=["std"]    

set nocp    

filetype plugin on    

  

"WinManager  

let g:winManagerWindowLayout='FileExplorer|TagList'  

"let g:winManagerWindowLayout='FileExplorer|BufExplorer|TagList'  

let g:persistentBehaviour=0  

let g:winManagerWidth=20  

let g:defaultExplorer=1  

nmap wm :WMToggle<cr>  

  

"QuickFix  

nmap <F6> :cn<cr>  

nmap <F7> :cp<cr>  

  

"MiniBufExplorer  

"let g:miniBufExplMapWindowNavVim = 1  

"let g:miniBufExplMapWindowNavArrows = 1  

let g:miniBufExplModSelTarget = 1  

let g:miniBufExplorerMoreThanOne = 2  

let g:miniBufExplModSelTarget = 0  

let g:miniBufExplUseSingleClick = 1  

let g:miniBufExplMapWindowNavVim = 1  

let g:miniBufExplVSplit = 15    "25  

let g:miniBufExplSplitBelow=1  

  

let g:bufExplorerSortBy = "name"  

  

autocmd BufRead,BufNew :call UMiniBufExplorer  

  

map <leader>u :TMiniBufExplorer<cr>  

  

  

"AutoClose  

"let g:AutoClosePairs = {'(': ')', '{': '}', '[': ']', '"': '"', "'": "'"}  

let g:AutoClosePairs = {'(': ')', '{': '}', '[': ']', '"': '"', "'": "'"}   

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""   

"   Maintainer:   

"   "       Geek SphinX  

"   "       [email protected]  

"   "  

"   "   Version:  

"   "       1.0 - Thu Nov  1 17:21:44 CST 2012  

"   "  

"   """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  

  

" Sets how many lines of history VIM has to remember  

" set history=1024  

"  

" " Auto syntax highlight  

" set syntax=on  

"  

" " Check file format  

" filetype on  

"  

" " Enable filetype plugins  

" filetype plugin on  

" filetype indent on  

"  

" " Sets non VI compatible mode  

" set nocompatible  

"  

" " Set to auto read when a file is changed from the outside  

" set autoread  

"  

" " With a map leader it's possible to do extra key combinations  

" " like <leader>w saves the current file  

" let mapleader = ","  

" let g:mapleader = ","  

"  

" " Fast saving  

" nmap <leader>w :w<cr>  

" nmap <leader>q :q<cr>  

"  

" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  

" " => VIM user interface  

" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  

" " Replace J, K  

" nmap J 5j  

" nmap K 5k  

"  

" " Ctrl+A to select all content in visual mode  

" nmap <silent> <C-a> ggvG$  

"  

" " Ctrl+C to copy  

" vnoremap <C-c> "+y  

"  

" " Ctrl+V to paste  

" nmap <silent> <C-v> "+p  

"  

" " Set 7 lines to the cursor - when moving vertically using j/k  

" set so=7  

"  

" " Turn on the Wild menu  

" set wildmenu  

"  

" " Ignore compiled files  

" set wildignore=*.o,*~,*.pyc  

"  

" "Always show current position  

" set ruler  

"  

" " Height of the command bar  

" set cmdheight=2  

"  

" " A buffer becomes hidden when it is abandoned  

" set hid  

"  

" " Configure backspace so it acts as it should act  

" set whichwrap+=<,>  

" set backspace=indent,eol,start  

"  

" " Ignore case when searching  

" set ignorecase  

"  

" " When searching try to be smart about cases   

" set smartcase  

"  

" " Highlight search results  

" set hlsearch  

"  

" " Makes search act like search in modern browsers  

" set incsearch  

"  

" " Don't redraw while executing macros (good performance config)  

" set lazyredraw  

"  

" " For regular expressions turn magic on  

" set magic  

"  

" " Show matching brackets when text indicator is over them  

" set showmatch  

"  

" " How many tenths of a second to blink when matching brackets  

" set mat=2  

"  

" " No annoying sound on errors set noerrorbells  

" set novisualbell  

" set t_vb=  

" set tm=500  

"  

" " Show line number  

" set number  

"  

" " Highlight over 80 columns  

" highlight OverLength ctermbg=red ctermfg=white guibg=#592929  

" match OverLength /\%81v.\+/  

"  

" " Show Tab symbol  

" set list  

" set listchars=tab:\|\ ,trail:.,extends:>,precedes:<  

"  

" " Switch windows  

" nnoremap <C-h> <C-w>h  

" nnoremap <C-l> <C-w>l  

" nnoremap <C-j> <C-w>j  

" nnoremap <C-k> <C-w>k  

"  

" " Move cursor in insert mode  

" inoremap <C-h> <C-o>h  

" inoremap <C-l> <C-o>l  

" inoremap <C-j> <C-o>j  

" inoremap <C-k> <C-o>k  

"  

"  

" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  

" " => Colors and Fonts  

" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  

" " Enable syntax highlighting  

" syntax enable  

"  

" "colorscheme desert  

" colorscheme molokai  

" set background=dark  

"  

" " Set extra options when running in GUI mode  

" if has("gui_running")  

"     set guioptions-=T  

"         set guioptions+=e  

"             set t_Co=256  

"                 set guitablabel=%M\ %t  

"                 endif  

"  

"                 " Set utf8 as standard encoding and en_US as the standard  

"                 language  

"                 set encoding=utf8  

"  

"                 " Use Unix as the standard file type  

"                 set ffs=unix,dos,mac  

"  

"                 " Use Inconsolata as the gui font  

"                 set guifont=Inconsolata\ 15  

"  

"                 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  

" => Text, tab and indent related  

" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  

" " Use spaces instead of tabs  

" set expandtab  

"  

" " Be smart when using tabs ;)  

" set smarttab  

"  

" " 1 tab == 4 spaces  

" set shiftwidth=4  

" set tabstop=4  

"  

" " Linebreak on 500 characters  

" set lbr  

" set tw=500  

"  

" set ai "Auto indent  

" set si "Smart indent  

" set wrap "Wrap lines  

"  

"  

" """"""""""""""""""""""""""""""  

" " => Status line  

" """"""""""""""""""""""""""""""  

" " Always show the status line  

" set laststatus=2  

"  

" " Format the status line  

" "set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \  

" Line:\ %l  

"  

"  

" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  

" " => Mouse  

" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  

" set mouse=a  

" set selection=exclusive  

" set selectmode=mouse,key  

"  

" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  

" " => Plugins  

" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  


g++/gdb/ctags的配置:

g++的配置

在命令窗口輸入yum install gcc-c++
gdb的配置

在命令窗口輸入yum install gdb

卸載原有GDB

1. 查詢 gdb是否安裝

[root@test01~]# rpm -qa |grep gdb

gdb-7.0.1-37.el5_7.1

gdbm-1.8.0-26.2.1

2. 刪除包

rpm-e --nodeps gdb-7.0.1-37.el5_7.1

ctags的配置

在命令窗口輸入yum install ctags





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章