• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 87  文章 - 279  trackbacks - 0
            <2006年9月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            1234567

            潛心看書研究!

            常用鏈接

            留言簿(19)

            隨筆分類(81)

            文章分類(89)

            相冊(cè)

            ACM OJ

            My friends

            搜索

            •  

            積分與排名

            • 積分 - 219046
            • 排名 - 118

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            Vim設(shè)置(轉(zhuǎn))

            " 設(shè)置字符編碼。參考:http://www.rainux.org/blog/index.php/2005/10/20/106

            " encoding: Vim 內(nèi)部使用的字符編碼方式,包括 Vim 的 buffer (緩沖區(qū))、菜單文
            " 本、消息文本等。用戶手冊(cè)上建議只在 .vimrc 中改變它的值,事實(shí)上似乎也只有
            " 在 .vimrc 中改變它的值才有意義。
            "
            " 由于 Unicode 能夠包含幾乎所有的語言的字符,而且 Unicode 的 UTF-8 編碼方式
            " 又是非常具有性價(jià)比的編碼方式 (空間消耗比 UCS-2 小),因此建議 encoding 的
            " 值設(shè)置為 utf-8。這么做的另一個(gè)理由是 encoding 設(shè)置為 utf-8 時(shí),Vim 自動(dòng)探
            " 測文件的編碼方式會(huì)更準(zhǔn)確 (或許這個(gè)理由才是主要的)。
            set encoding=utf-8

            " fileencodings: Vim 啟動(dòng)時(shí)會(huì)按照它所列出的字符編碼方式逐一探測即將打開的文
            " 件的字符編碼方式,并且將 fileencoding 設(shè)置為最終探測到的字符編碼方式。因
            " 此最好將 Unicode 編碼方式放到這個(gè)列表的最前面。
            "
            " 拉丁語系編碼方式 latin1 最好去掉。因?yàn)槿绻?latin-1,在文件中有多種編碼
            " 方式的內(nèi)容時(shí) (比如,a 為 utf-8 編碼的中文文本文件,b 為 cp936 編碼的中文
            " 文本文件,執(zhí)行命令 cat b >> a 后的 a 文件),最后 Vim 會(huì)將文件編碼設(shè)為
            " latin-1,導(dǎo)致最終非英文內(nèi)容顯示完全亂碼。
            "set fileencodings=utf-8,chinese,latin-1
            set fileencodings=utf-8,chinese

            " fileencoding: Vim 中當(dāng)前編輯的文件的字符編碼方式,Vim 保存文件時(shí)也會(huì)將文
            " 件保存為這種字符編碼方式。
            "
            " 如果打開的是已有的文件,則 Vim 會(huì)將 fileencoding 設(shè)置為上面探測到的字符編
            " 碼,此處的設(shè)置不再有效;如果是新文件,則此處的 fileencoding 生效。
            if has("win32")

                " 我們?cè)谥形?Windows 里編輯的文件,為了兼顧與其他軟件的兼容性,文件編碼
                " 還是設(shè)置為 GB2312/GBK 比較合適,因此 fileencoding 建議設(shè)置為 chinese
                " (chinese 是個(gè)別名,在 Unix 里表示 gb2312,在 Windows 里表示 cp936,也
                " 就是 GBK 的代碼頁)。
                set fileencoding=chinese
            else
                set fileencoding=utf-8
            endif

            " termencoding: Vim 所工作的終端 (或者 Windows 的 Console 窗口) 的字符編碼
            " 方式。這個(gè)選項(xiàng)對(duì) GUI 模式的 gVim 無效,而對(duì) Console 模式的 Vim 而言就是
            " Windows 控制臺(tái)的代碼頁 (對(duì)于 Windows 而言),并且通常我們不需要改變它。
            "
            " 下面這句只影響普通模式 (非圖形界面) 下的 Vim。
            let &termencoding=&encoding

            " 一般而言,在字符編碼配置正確的情況下,是不會(huì)出現(xiàn)亂碼問題的。
            " 萬一不幸菜單亂碼 (比如,locale 設(shè)置為 zh_CN.UTF-8 而 encoding 卻設(shè)置為
            " cp936 時(shí)。當(dāng)然,此時(shí)最好的方法還是將 encoding 設(shè)置為 utf-8) ,請(qǐng)取消下
            " 面兩行語句的注釋。
            "source $VIMRUNTIME/delmenu.vim
            "source $VIMRUNTIME/menu.vim

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

            " 設(shè)置圖形界面。
            "
            " 字體部分,可參考《程序員最喜歡用的編程字體》一文:
            " http://www.2maomao.com/blog/best-programmer-fonts/

            if has("gui_running")
                if has("win32")
                    " 設(shè)定 windows 下 gvim 啟動(dòng)時(shí)最大化
                    autocmd GUIEnter * simalt ~x
                    " 設(shè)定 windows 下圖形界面下的字體。該字體需要自己下載安裝,下載地址:
                    " http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-1.10.zip
                    set guifont=Bitstream_Vera_Sans_Mono:h14:cANSI
                else
                    " 設(shè)定 linux 下圖形界面下的字體,該字體 Fedora 7 自帶
                    set guifont=DejaVu\ LGC\ Sans\ Mono\ 14
                endif
            endif

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

            colorscheme evening         " 設(shè)定背景為夜間模式
            filetype plugin on          " 自動(dòng)識(shí)別文件類型,自動(dòng)匹配對(duì)應(yīng)的
                                        " “文件類型Plugin.vim”文件,使用縮進(jìn)定義文件
            set ambiwidth=double        " ambiwidth 默認(rèn)值為 single。在其值為 single 時(shí),
                                        " 若 encoding 為 utf-8,gvim 顯示全角符號(hào)時(shí)就會(huì)
                                        " 出問題,會(huì)當(dāng)作半角顯示。
            set autochdir               " 自動(dòng)切換當(dāng)前目錄為當(dāng)前文件所在的目錄
            set autoindent cindent cinoptions=g0
                                        " 打開自動(dòng)縮進(jìn)和 C 語言風(fēng)格的縮進(jìn)模式,
                                        " 定制 C 語言縮進(jìn)風(fēng)格
            set backspace=indent,eol,start
                                        " 不設(shè)定的話在插入狀態(tài)無法用退格鍵和 Delete
                                        " 鍵刪除回車符
            set backupcopy=yes          " 設(shè)置備份時(shí)的行為為覆蓋

            if v:version >= 700
                set completeopt=menu,longest,preview
                                        " 自動(dòng)補(bǔ)全(ctrl-p)時(shí)的一些選項(xiàng):
                                        " 多于一項(xiàng)時(shí)顯示菜單,最長選擇,
                                        " 顯示當(dāng)前選擇的額外信息
            endif

            set confirm                 " 用確認(rèn)對(duì)話框(對(duì)于 gvim)或命令行選項(xiàng)(對(duì)于
                                        " vim)來代替有未保存內(nèi)容時(shí)的警告信息
            set display=lastline        " 長行不能完全顯示時(shí)顯示當(dāng)前屏幕能顯示的部分。
                                        " 默認(rèn)值為空,長行不能完全顯示時(shí)顯示 @。
            set expandtab               " 將 tab 鍵轉(zhuǎn)換為空格
            set formatoptions=tcqro     " 使得注釋換行時(shí)自動(dòng)加上前導(dǎo)的空格和星號(hào)
            set hidden                  " 允許在有未保存的修改時(shí)切換緩沖區(qū),
                                        " 此時(shí)的修改由切換由 vim 負(fù)責(zé)保存
            set history=50              " 設(shè)置冒號(hào)命令和搜索命令的命令歷史列表的長度為 50
            set hlsearch                " 搜索時(shí)高亮顯示被找到的文本
            set ignorecase smartcase    " 搜索時(shí)忽略大小寫,但在有一個(gè)或以上大寫字母時(shí)
                                        " 仍保持對(duì)大小寫敏感
            set incsearch               " 輸入搜索內(nèi)容時(shí)就顯示搜索結(jié)果
            set mouse=a                 " 設(shè)定在任何模式下鼠標(biāo)都可用
            set nobackup                " 覆蓋文件時(shí)不備份
            set nocompatible            " 設(shè)定 gvim 運(yùn)行在增強(qiáng)模式下
            set noignorecase            " 默認(rèn)區(qū)分大小寫
            set nolinebreak             " 在單詞中間斷行
            set number                  " 顯示行號(hào)
            set ruler                   " 打開狀態(tài)欄標(biāo)尺
            "set scrolloff=5             " 設(shè)定光標(biāo)離窗口上下邊界 5 行時(shí)窗口自動(dòng)滾動(dòng)
            set shiftwidth=4            " 設(shè)定 << 和 >> 命令移動(dòng)時(shí)的寬度為 4
            set showcmd                 " 在狀態(tài)欄顯示目前所執(zhí)行的指令,未完成的指令片段亦
                                        " 會(huì)顯示出來
            set softtabstop=4           " 使得按退格鍵時(shí)可以一次刪掉 4 個(gè)空格
                                        " (不足 4 個(gè)時(shí)刪掉所有剩下的空格)
            set tabstop=4               " 設(shè)定 tab 長度為 4
            set whichwrap=b,s,<,>,[,]   " 設(shè)定退格鍵、空格鍵以及左右方向鍵在行首行尾時(shí)的
                                        " 行為,不影響 h 和 l 鍵
            set wrap                    " 自動(dòng)換行顯示
            syntax on                   " 自動(dòng)語法高亮

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

            " 設(shè)置命令行和狀態(tài)欄

            set cmdheight=1             " 設(shè)定命令行的行數(shù)為 1
            set laststatus=2            " 顯示狀態(tài)欄 (默認(rèn)值為 1, 無法顯示狀態(tài)欄)
            set statusline=%F%m%r,%Y,%{&fileformat}\ \ \ ASCII=\%b,HEX=\%B\ \ \ %l,%c%V\ %p%%\ \ \ [\ %L\ lines\ in\ all\ ]
                                        " 設(shè)置在狀態(tài)行顯示的信息如下:
                                        " %F    當(dāng)前文件名
                                        " %m    當(dāng)前文件修改狀態(tài)
                                        " %r    當(dāng)前文件是否只讀
                                        " %Y    當(dāng)前文件類型
                                        " %{&fileformat}
                                        "       當(dāng)前文件編碼
                                        " %b    當(dāng)前光標(biāo)處字符的 ASCII 碼值
                                        " %B    當(dāng)前光標(biāo)處字符的十六進(jìn)制值
                                        " %l    當(dāng)前光標(biāo)行號(hào)
                                        " %c    當(dāng)前光標(biāo)列號(hào)
                                        " %V    當(dāng)前光標(biāo)虛擬列號(hào) (根據(jù)字符所占字節(jié)數(shù)計(jì)算)
                                        " %p    當(dāng)前行占總行數(shù)的百分比
                                        " %%    百分號(hào)
                                        " %L    當(dāng)前文件總行數(shù)

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

            " 自動(dòng)命令

            " 讀文件時(shí)自動(dòng)設(shè)定當(dāng)前目錄為剛讀入文件所在的目錄
            autocmd BufReadPost * cd %:p:h

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

            " 自定義縮寫

            function! Eatchar(pat)
                let s:c = nr2char(getchar())
                return (s:c =~ a:pat) ? '' : s:c
            endfunction

            " C 文件頭注釋
            iab     /**         /<Esc>75a*<Esc>o<Esc>0c$ * <Esc>yyADescription:<Esc>pmxpAAuthor  : wplxb<Esc>pALanguage: C<Esc>pADate    : <C-R>=strftime("%Y-%m-%d")<CR><Esc>p$r/74i*<Esc>0vyo<Esc>`x$9pa

            " C 注釋
            iab     ///         /* <Esc>mxa */<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     ***         /*<Esc>yyppr A/<Esc>k0r A <C-R>=Eatchar('\s')<CR>

            " C 預(yù)處理
            iab     #i          #include <<Esc>mxa><Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     #d          #define

            " C 關(guān)鍵字
            iab     if(         if (<Esc>mxa)<CR>{<CR>}<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     el{         else<CR>{<Esc>mxa<CR>}<Esc>`xa<CR><C-R>=Eatchar('\s')<CR>
            iab     ie(         if (<Esc>mxa)<CR>{<CR>}<CR>else<CR>{<CR>}<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     fo(         for (<Esc>mxa; ; )<CR>{<CR>}<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     fi(         for (i = 0; i < <Esc>mxa; ++i)<CR>{<CR>}<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     fi1(        for (i = 1; i <= <Esc>mxa; ++i)<CR>{<CR>}<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     fj(         for (j = 0; j < <Esc>mxa; ++j)<CR>{<CR>}<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     fj1(        for (j = 1; j <= <Esc>mxa; ++j)<CR>{<CR>}<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     ma(         int main(int argc, char * argv[])<CR>{<Esc>mxa<CR>}<Esc>`xa<CR><CR>return 0;<Esc>`xa<CR><C-R>=Eatchar('\s')<CR>
            iab     wh(         while (<Esc>mxa)<CR>{<CR>}<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     sw(         switch (<Esc>mxa)<CR>{<CR>case <Esc>mya<CR>break;<CR>case <Esc>mza<CR>break;:<Esc>xa<CR>}<Esc>`yp`zp`xa<C-R>=Eatchar('\s')<CR>
            iab     sd(         switch (<Esc>mxa)<CR>{<CR>case <Esc>mya<CR>break;<CR>case <Esc>mza<CR>break;<CR>default:<Esc>vya<CR>}<Esc>`yp`zp`xa<C-R>=Eatchar('\s')<CR>

            " C 常用庫函數(shù)
            iab     sc(         scanf("<Esc>mxa", );<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     fs(         fscanf(<Esc>mxa, "", );<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     ss(         sscanf(<Esc>mxa, "", );<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     pr(         printf("<Esc>mxa", );<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     prn(        printf("<Esc>mxa\n");<Esc>`x<C-R>=Eatchar('\s')<CR>
            iab     fp(         fprintf(<Esc>mxa, "", );<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     sp(         sprintf(<Esc>mxa, "", );<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     cpy(        strcpy(<Esc>mxa, );<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     cat(        strcat(<Esc>mxa, );<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     len(        strlen(<Esc>mxa);<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     cmp(        strcmp(<Esc>mxa, );<Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     qs(         qsort(<Esc>mxa, , , );<Esc>`xa<C-R>=Eatchar('\s')<CR>

            iab     ---         <Esc>75A-<Esc>a<C-R>=Eatchar('\s')<CR>

            cab     tn          tabnew

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

            " 鍵映射

            nmap    <F12>       :%s,\s\+$,,g<CR>

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

            posted on 2008-07-24 12:16 閱讀(519) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Linux
            97久久超碰国产精品旧版| 99久久精品免费观看国产| 综合久久久久久中文字幕亚洲国产国产综合一区首| 免费观看成人久久网免费观看| 久久久久香蕉视频| 欧美噜噜久久久XXX| 91精品观看91久久久久久| 欧美日韩精品久久免费| 国产精品久久久久久福利69堂| 久久精品亚洲男人的天堂| 亚洲va久久久噜噜噜久久男同| 色综合久久88色综合天天| 国内精品久久久久影院薰衣草| 亚洲国产成人久久精品影视| 久久精品国产亚洲αv忘忧草| 久久线看观看精品香蕉国产| 久久久久久久波多野结衣高潮| 久久国产乱子伦精品免费午夜| 国产精品久久久久天天影视| 精品久久久无码人妻中文字幕| 久久综合九色综合97_久久久| 色偷偷88888欧美精品久久久| 亚洲午夜精品久久久久久浪潮| 国产精品九九久久免费视频 | 久久精品国产亚洲一区二区| 亚洲香蕉网久久综合影视 | 欧美熟妇另类久久久久久不卡| 久久精品这里只有精99品| 66精品综合久久久久久久| 国产一区二区精品久久| 久久久久久无码Av成人影院| 精品久久久一二三区| 午夜精品久久久久久影视riav | 亚洲色欲久久久综合网东京热| 欧美久久一级内射wwwwww.| 亚洲精品国产成人99久久| 中文字幕亚洲综合久久2| 国产精品久久久久久搜索| 国产高潮久久免费观看| 久久国产精品波多野结衣AV| 久久婷婷人人澡人人|