• <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
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            潛心看書研究!

            常用鏈接

            留言簿(19)

            隨筆分類(81)

            文章分類(89)

            相冊

            ACM OJ

            My friends

            搜索

            •  

            積分與排名

            • 積分 - 216554
            • 排名 - 117

            最新評論

            閱讀排行榜

            評論排行榜

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

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

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

            " fileencodings: Vim 啟動(dòng)時(shí)會按照它所列出的字符編碼方式逐一探測即將打開的文
            " 件的字符編碼方式,并且將 fileencoding 設(shè)置為最終探測到的字符編碼方式。因
            " 此最好將 Unicode 編碼方式放到這個(gè)列表的最前面。
            "
            " 拉丁語系編碼方式 latin1 最好去掉。因?yàn)槿绻?latin-1,在文件中有多種編碼
            " 方式的內(nèi)容時(shí) (比如,a 為 utf-8 編碼的中文文本文件,b 為 cp936 編碼的中文
            " 文本文件,執(zhí)行命令 cat b >> a 后的 a 文件),最后 Vim 會將文件編碼設(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í)也會將文
            " 件保存為這種字符編碼方式。
            "
            " 如果打開的是已有的文件,則 Vim 會將 fileencoding 設(shè)置為上面探測到的字符編
            " 碼,此處的設(shè)置不再有效;如果是新文件,則此處的 fileencoding 生效。
            if has("win32")

                " 我們在中文 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)對 GUI 模式的 gVim 無效,而對 Console 模式的 Vim 而言就是
            " Windows 控制臺的代碼頁 (對于 Windows 而言),并且通常我們不需要改變它。
            "
            " 下面這句只影響普通模式 (非圖形界面) 下的 Vim。
            let &termencoding=&encoding

            " 一般而言,在字符編碼配置正確的情況下,是不會出現(xiàn)亂碼問題的。
            " 萬一不幸菜單亂碼 (比如,locale 設(shè)置為 zh_CN.UTF-8 而 encoding 卻設(shè)置為
            " cp936 時(shí)。當(dāng)然,此時(shí)最好的方法還是將 encoding 設(shè)置為 utf-8) ,請取消下
            " 面兩行語句的注釋。
            "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)識別文件類型,自動(dòng)匹配對應(yīng)的
                                        " “文件類型Plugin.vim”文件,使用縮進(jìn)定義文件
            set ambiwidth=double        " ambiwidth 默認(rèn)值為 single。在其值為 single 時(shí),
                                        " 若 encoding 為 utf-8,gvim 顯示全角符號時(shí)就會
                                        " 出問題,會當(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)對話框(對于 gvim)或命令行選項(xiàng)(對于
                                        " 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)的空格和星號
            set hidden                  " 允許在有未保存的修改時(shí)切換緩沖區(qū),
                                        " 此時(shí)的修改由切換由 vim 負(fù)責(zé)保存
            set history=50              " 設(shè)置冒號命令和搜索命令的命令歷史列表的長度為 50
            set hlsearch                " 搜索時(shí)高亮顯示被找到的文本
            set ignorecase smartcase    " 搜索時(shí)忽略大小寫,但在有一個(gè)或以上大寫字母時(shí)
                                        " 仍保持對大小寫敏感
            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                  " 顯示行號
            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í)行的指令,未完成的指令片段亦
                                        " 會顯示出來
            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)行號
                                        " %c    當(dāng)前光標(biāo)列號
                                        " %V    當(dāng)前光標(biāo)虛擬列號 (根據(jù)字符所占字節(jié)數(shù)計(jì)算)
                                        " %p    當(dāng)前行占總行數(shù)的百分比
                                        " %%    百分號
                                        " %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 閱讀(501) 評論(0)  編輯 收藏 引用 所屬分類: Linux
            久久综合亚洲色HEZYO国产| 久久亚洲AV无码西西人体| avtt天堂网久久精品| 狠狠色婷婷综合天天久久丁香| 丰满少妇高潮惨叫久久久| 久久久久亚洲精品无码网址| 精品综合久久久久久97| 欧美777精品久久久久网| 久久天天躁狠狠躁夜夜不卡| 国产精品久久久久久一区二区三区| 国产99久久久国产精免费| 亚洲色欲久久久综合网东京热 | 一本色道久久88综合日韩精品| 亚洲午夜无码久久久久| 久久影视综合亚洲| 99久久99这里只有免费费精品| 人妻丰满?V无码久久不卡| 狠狠色丁香久久婷婷综| 亚洲女久久久噜噜噜熟女| 久久激情五月丁香伊人| 久久综合九色综合97_久久久| 久久天天躁狠狠躁夜夜不卡| 国产女人aaa级久久久级| 99久久成人国产精品免费| 综合久久国产九一剧情麻豆| 日韩亚洲国产综合久久久| 秋霞久久国产精品电影院| 国产亚洲精品自在久久| 性欧美大战久久久久久久久| 亚洲精品WWW久久久久久| 久久伊人精品青青草原日本| 99久久国产综合精品网成人影院| 国产成人无码久久久精品一| 午夜天堂精品久久久久| 亚洲va久久久噜噜噜久久天堂| 青草久久久国产线免观| 久久伊人中文无码| 久久性精品| 一本色道久久88综合日韩精品| 色播久久人人爽人人爽人人片AV| 亚洲国产日韩欧美综合久久|