• <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

            搜索

            •  

            積分與排名

            • 積分 - 216441
            • 排名 - 117

            最新評論

            閱讀排行榜

            評論排行榜

            Vim設置(轉(zhuǎn))

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

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

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

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

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

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

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

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

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

            if has("gui_running")
                if has("win32")
                    " 設定 windows 下 gvim 啟動時最大化
                    autocmd GUIEnter * simalt ~x
                    " 設定 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
                    " 設定 linux 下圖形界面下的字體,該字體 Fedora 7 自帶
                    set guifont=DejaVu\ LGC\ Sans\ Mono\ 14
                endif
            endif

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

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

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

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

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

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

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

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

            " 自動命令

            " 讀文件時自動設定當前目錄為剛讀入文件所在的目錄
            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 預處理
            iab     #i          #include <<Esc>mxa><Esc>`xa<C-R>=Eatchar('\s')<CR>
            iab     #d          #define

            " C 關鍵字
            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
            一97日本道伊人久久综合影院| 久久久久久毛片免费播放| 国产亚洲精久久久久久无码AV| 青青青青久久精品国产| 久久人人爽人人澡人人高潮AV | 精品久久久久久久久中文字幕| 日本道色综合久久影院| 久久精品无码一区二区app| 久久综合五月丁香久久激情| 久久精品无码一区二区无码 | 久久久久国产视频电影| 无码国内精品久久综合88| 99久久久国产精品免费无卡顿| 久久婷婷五月综合色99啪ak| 日本久久久久亚洲中字幕| 看全色黄大色大片免费久久久| www.久久热| 97久久国产露脸精品国产| 久久97久久97精品免视看| 精品久久久久香蕉网| 久久久国产视频| 久久国产影院| 国产呻吟久久久久久久92| 久久水蜜桃亚洲av无码精品麻豆 | 久久久久国产一区二区| 一本久久久久久久| 久久99精品国产99久久6男男| 一本久久a久久精品亚洲| 久久精品国产亚洲Aⅴ香蕉| 国产精品久久精品| 91久久精品91久久性色| 久久精品国产99久久无毒不卡| 国内精品伊人久久久影院| 久久亚洲国产最新网站| 亚洲精品综合久久| 久久九色综合九色99伊人| 国产精品久久久99| 久久精品亚洲乱码伦伦中文| 久久久久综合国产欧美一区二区| 国产高清国内精品福利99久久| 丁香久久婷婷国产午夜视频|