簡單的vim配置:
在目錄 /etc/ 下面,有個名爲vimrc的文件,這是系統中公共的vim配置文件,對所有用戶都有效。而在每個用戶的主目錄下,都可以自己建立私有的配置文件,命名爲:“.vimrc”。例如,/root目錄下,通常已經存在一個.vimrc文件,那麼我們可以在自己的工作目錄下建立一個“.vimrc”文件將配置vim的命令寫進去來配置我們的vim。
在“.vimrc”中添加以下代碼就可以達到同樣的效果
1 " 選中狀態下 Ctrl+c 複製
2 vmap <C-c> "+y""
3 " "C,C++ 按F5編譯運行
4 map <F5> :call CompileRunGcc()<CR>
5 func! CompileRunGcc()
6 exec "w"
7 if &filetype == 'c'
8 exec "!g++ % -o %<"
9 exec "! ./%<"
10 elseif &filetype == 'cpp'
11 exec "!g++ % -o %<"
12 exec "! ./%<"
13 elseif &filetype == 'java'
14 exec "!javac %"
15 exec "!java
16 %<"
17 elseif" &filetyp e
18 == 'sh'
19 :!./%
20 endif
21 endfunc 5 5 " 設定窗口位置 set statusline=%F%m%r%h%w\ [FORMAT=% {&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\
22 set lines=40 columns=155 " 設定窗口大小
23 set shortmess=atI
24 set nu " 顯示行號
25 set go= " 不要圖形按鈕
26 syntax on " 語法高亮
27 autocmd InsertEnter * se cul " 用淺色高亮當前行
28 set ruler " 顯示標尺
29 set nobackup
30 set cursorline
31 set foldcolumn=0
32 set foldenable
33 set confirm
34 " 自動縮進
35 set autoindent
36 set cindent
37 " " Tab鍵的寬度
38 set tabstop=4
39 " " 統一縮進爲4
40 set softtabstop=4
41 set shiftwidth=4
42 " " 不要用空格代替製表符
43 set noexpandtab
44 " " 在行和段開始處使用製表符
45 set smarttab
46 " " 歷史記錄數
47 set history=1000
48 " "禁止生成臨時文件
49 set nobackup
50 set noswapfile
51 " "搜索忽略大小寫
52 set ignorecase
53 " "搜索逐字符高亮
54 set hlsearch
55 set incsearch
56 " "行內替換
57 set gdefault
58 " "編碼設置
59 set enc=utf-8
60 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
61 " "語言設置
62 set langmenu=zh_CN.UTF-8
63 set helplang=cn
64 " " 我的狀態行顯示的內容(包括文件類型和解碼)
65
66 set laststatus=2
67 " " 命令行(在狀態行下)的高度,默認爲1,這裏是2
68 set cmdheight=2
69 " " 偵測文件類型
70 filetype on
71 filetype plugin on
72 " " 爲特定文件類型載入相關縮進文件
73 filetype indent on
74 " " 保存全局變量
75 set viminfo+=!
76 " " 帶有如下符號的單詞不要被換行分割
77 set wildmenu
78 " " 允許backspace和光標鍵跨越行邊界
79 set whichwrap+=<,>,h,l
80 " " 可以在buffer的任何地方使用鼠標(類似office中在工作區雙擊鼠標定位)
81 set mouse=a
82 set selection=exclusive
83 set selectmode=mouse,key
84 " " 通過使用: commands命令,告訴我們文件的哪一行被改變過
85 set report=0
86 " " 在被分割的窗口間顯示空白,便於閱讀
87 set fillchars=vert:\ ,stl:\ ,stlnc:\
88 " " 高亮顯示匹配的括號
89 set showmatch
90 " " 匹配括號高亮的時間(單位是十分之一秒)
91 set matchtime=1
92 " " 光標移動到buffer的頂部和底部時保持3行距離
93 set scrolloff=3
94 " " 爲C程序提供自動縮進
95 set smartindent
96 " " 高亮顯示普通txt文件(需要txt.vim腳本)
97 au BufRead,BufNewFile * setfiletype txt
98 " "自動補全
99 :inoremap ( ()<ESC>i
100 :inoremap ) <c-r>=ClosePair(')')<CR>
101 :inoremap { {<CR>}<ESC>O
102 :inoremap } <c-r>=ClosePair('}')<CR>
103 :inoremap [ []<ESC>i
104 :inoremap ] <c-r>=ClosePair(']')<CR>
105 :inoremap " ""<ESC>i
106 :inoremap ' ''<ESC>i
107 function! ClosePair(char)
109 if getline('.')[col('.') - 1] == a:char
110 return "\<Right>"
111 else
112 return a:char
113 endif
114 endfunction
115 filetype plugin indent on"打開文件類型檢測, 加了這句纔可以用智能補全
117 set completeopt=longest,menu
118 let Tlist_Show_One_File = 1 "不同時顯示多個文件的tag,只顯示當前文件的
119 let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最後一個窗口,則退出vim
120 let g:miniBufExplMapWindowNavVim = 1
121 let g:miniBufExplMapWindowNavArrows = 1
122 let g:miniBufExplMapCTabSwitchBufs = 1
123 let g:miniBufExplModSelTarget = 1
124 let g:winManagerWindowLayout="FileExplorer|TagList"
125 nmap wm :WMToggle<cr>
安裝TagList 插件
http://www.vim.org/scripts/script.php?script_id=273
下載taglist_xx.zip ,解壓完成,將解壓出來的doc的內容放到~/.vim/doc, 將
解壓出來的plugin下的內容拷貝到~/.vim/plugin
7. 在~/.vimrc 中添加:
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_Use_Right_Window=1
6. 安裝⽂文件瀏覽器和窗⼜⼝口管理器 -- 插件: WinManager
http://www.vim.org/scripts/script.php?script_id=95
下載winmanager.zip,2.X版本以上的。
解壓winmanager.zip,將解壓出來的doc的內容放到~/.vim/doc, 將解壓出來
的plugin下的內容拷貝到~/.vim/plugin
7. 在~/.vimrc 中添加:
let g:winManagerWindowLayout=‘FileExplorer|TagList'
nmap wm :WMToggle<cr>
8. 然後重啓vim, 打開~/XXX.c或~/XXX.cpp, 在normal狀態下輸⼊入"wm", 你將
看到上圖的效果。