vimrc.local

set nocompatible            " 關閉 vi 兼容模式
syntax on                   " 自動語法高亮
"colorscheme molokai         " 設定配色方案
set number                  " 顯示行號
set cursorline              " 突出顯示當前行
set ruler                   " 打開狀態欄標尺
set shiftwidth=4            " 設定 << 和 >> 命令移動時的寬度爲 4
set softtabstop=4           " 使得按退格鍵時能夠一次刪掉 4 個空格
set tabstop=4               " 設定 tab 長度爲 4
set nobackup                " 覆蓋文件時不備份
set autochdir               " 自動切換當前目錄爲當前文件所在的目錄
filetype plugin indent on   " 開啓插件
set backupcopy=yes          " 設置備份時的行爲爲覆蓋
set ignorecase smartcase    " 搜索時忽略大小寫,但在有一個或以上大寫字母時仍保持對大小寫敏感
set nowrapscan              " 禁止在搜索到文件兩端時從新搜索
set incsearch               " 輸入搜索內容時就顯示搜索結果
set hlsearch                " 搜索時高亮顯示被找到的文本
set noerrorbells            " 關閉錯誤信息響鈴
set novisualbell            " 關閉使用可視響鈴代替呼叫
set t_vb=                   " 置空錯誤鈴聲的終端代碼
" set showmatch               " 插入括號時,短暫地跳轉到匹配的對應括號
" set matchtime=2             " 短暫跳轉到匹配括號的時間
set magic                   " 設置魔術
set hidden                  " 容許在有未保存的修改時切換緩衝區,此時的修改由 vim 負責保存
set guioptions-=T           " 隱藏工具欄
set guioptions-=m           " 隱藏菜單欄
set smartindent             " 開啓新行時使用智能自動縮進
set backspace=indent,eol,start
                            " 不設定在插入狀態沒法用退格鍵和 Delete 鍵刪除回車符
set cmdheight=1             " 設定命令行的行數爲 1
set laststatus=2            " 顯示狀態欄 (默認值爲 1, 沒法顯示狀態欄)
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\ 
                            " 設置在狀態行顯示的信息
set foldenable              " 開始摺疊
"set foldmethod=syntax       " 設置語法摺疊
set foldcolumn=0            " 設置摺疊區域的寬度
setlocal foldlevel=1        " 設置摺疊層數爲
set foldclose=all           " 設置爲自動關閉摺疊                            
" nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
                            " 用空格鍵來開關摺疊




" return OS type, eg: windows, or linux, mac, et.st..
function! MySys()
    if has("win16") || has("win32") || has("win64") || has("win95")
        return "windows"
    elseif has("unix")
        return "linux"
    endif
endfunction


" 用戶目錄變量$VIMFILES
if MySys() == "windows"
    let $VIMFILES = $VIM.'/vimfiles'
elseif MySys() == "linux"
    let $VIMFILES = $HOME.'/.vim'
endif


" 設定doc文檔目錄
let helptags=$VIMFILES.'/doc'


" 設置字體 以及中文支持
if has("win32")
    set guifont=Inconsolata:h12:cANSI
endif


" 配置多語言環境
if has("multi_byte")
    " UTF-8 編碼
    set encoding=utf-8
    set termencoding=utf-8
    set formatoptions+=mM
    set fencs=utf-8,gbk


    if v:lang =~? '^\(zh\)\|\(ja\)\|\(ko\)'
        set ambiwidth=double
    endif


    if has("win32")
        source $VIMRUNTIME/delmenu.vim
        source $VIMRUNTIME/menu.vim
        language messages zh_CN.utf-8
    endif
else
    echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"
endif


" Buffers操做快捷方式!
nnoremap <C-RETURN> :bnext<CR>
nnoremap <C-S-RETURN> :bprevious<CR>


" Tab操做快捷方式!
nnoremap <C-TAB> :tabnext<CR>
nnoremap <C-S-TAB> :tabprev<CR>


"關於tab的快捷鍵
" map tn :tabnext<cr>
" map tp :tabprevious<cr>
" map td :tabnew .<cr>
" map te :tabedit
" map tc :tabclose<cr>


"窗口分割時,進行切換的按鍵熱鍵須要鏈接兩次,好比從下方窗口移動
"光標到上方窗口,須要<c-w><c-w>k,很是麻煩,如今重映射爲<c-k>,切換的
"時候會變得很是方便.
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l


"一些不錯的映射轉換語法(若是在一個文件中混合了不一樣語言時有用)
nnoremap <leader>1 :set filetype=xhtml<CR>
nnoremap <leader>2 :set filetype=css<CR>
nnoremap <leader>3 :set filetype=javascript<CR>
nnoremap <leader>4 :set filetype=php<CR>


" set fileformats=unix,dos,mac
" nmap <leader>fd :se fileformat=dos<CR>
" nmap <leader>fu :se fileformat=unix<CR>


" use Ctrl+[l|n|p|cc] to list|next|previous|jump to count the result
" map <C-x>l <ESC>:cl<CR>
" map <C-x>n <ESC>:cn<CR>
" map <C-x>p <ESC>:cp<CR>
" map <C-x>c <ESC>:cc<CR>




" 讓 Tohtml 產生有 CSS 語法的 html
" syntax/2html.vim,能夠用:runtime! syntax/2html.vim
let html_use_css=1


" Python 文件的通常設置,好比不要 tab 等
autocmd FileType python set tabstop=4 shiftwidth=4 expandtab
autocmd FileType python map <F12> :!python %<CR>

javascript

光標定位在最後位置

" Uncomment the following to have Vim jump to the last position when " reopening a file if has("autocmd") au BufReadPost * if line("`\"") > 1 && line("`\"") <= line("$") | exe "normal! g`\"" | endif " for simplicity, " au BufReadPost * exe "normal! g`\"", is Okay. endif
相關文章
相關標籤/搜索