2010年2月1日 星期一

Vim 筆記(七)

" 設定TXT副檔名使用todolist的顏色格式
au BufRead,BufNewFile *.txt setfiletype todotxt

" 設定在按下Enter後可以新增一行
" Insert newline without entering insert mode
map O
map o

" 設定按下F3可以產生日期標記
" To insert timestamp, press F3.
nmap a=strftime("%Y-%m-%d %a %I:%M %p")
imap =strftime("%Y-%m-%d %a %I:%M %p")

" 設定可見的書籤
" 設定書籤(Markers), F5 設定此行 F6 移除此行書籤
:highlight SignColumn guibg=darkgrey
:sign define piet text=>> texthl=Search

function! SignFixme()
execute(":sign place ".line(".")." line=".line(".")." name=piet file=".expand("%:p"))
endfunction
map :call SignFixme()

function! SignLines()
execute(":sign unplace ".line("."))
endfunction
map :call SignLines()

" 設定移動 buffers(需配合minibufexpl.vim套件)
map :bn
map :bp

" 設定關閉 swap 功能
:set noswf

" 設定按 Ctrl+s 存檔
:nmap :w
:imap :w

" 設定PHP摺疊
set foldmarker={{{,}}}
set foldmethod=marker
set foldlevel=2 " 預設全部關閉
let php_folding = 1 " 這個很重要
set foldnestmax=3

"""""""""""""""""""""""""
" tags(需要搭配ctags.exe)
"""""""""""""""""""""""""
let Tlist_Ctags_Cmd='C:\vim\vim72\ctags.exe'
let g:showfuncctagsbin = 'c:\\vim\\vim72\\ctags.exe'

set tags=tags;
set autochdir
set tagrelative

" 我的 statusline 設定
set ls=2 "laststatus
set statusline=[%n]
set statusline+=%<\ "cut at start set statusline+=%<%F "顯示檔案名稱 set statusline+=\ [%{(&fenc==\"\")?&enc:&fenc}, " encoding set statusline+=%{&fileformat} " file format set statusline+=%{(&bomb?\",BOM\":\"\")}] " detect bomb set statusline+=%=Lines:%L "顯示行數 set statusline+=\ [%p%%] "顯示游標所在整的檔案的百分比位置 set statusline+=\ \ Ln:%l,\ Col:%c "顯示行列位置 set statusline+=\ %([%1*%M%*%R%Y]%) "設定是否修改、是否唯讀、檔案副檔名 " 設定按 Ctrl+F3 去開關menu和toolbar map : if &guioptions =~# 'T'
\set guioptions-=T
\set guioptions-=m
\else
\set guioptions+=T
\set guioptions+=m
\endif

"設定tab在vim裡頭佔的空白格數
set tabstop=4

" 設定編碼
let $LANG="zh_TW.UTF-8"
set termencoding=utf8
set encoding=utf-8

沒有留言: