申明:本博主并没有完全掌握每个配置文件的意义….不过这两个配置算是我在网上看到功能最为强大的两个配置文件了
当然前提是大家提前安装了对应的程序了
献给大家,有兴趣的拿去用,懂的给博主指点指点…
先上vimrc
" http://amix.dk - amix@amix.dk " " Version: 3.6 - 25/08/10 14:40:30 " " Blog_post: " http://amix.dk/blog/post/19486#The-ultimate-vim-configuration-vimrc " Syntax_highlighted: " http://amix.dk/vim/vimrc.html " Raw_version: " http://amix.dk/vim/vimrc.txt " " How_to_Install_on_Unix: " $ mkdir ~/.vim_runtime " $ svn co svn://orangoo.com/vim ~/.vim_runtime " $ cat ~/.vim_runtime/install.sh " $ sh ~/.vim_runtime/install.sh <system> " <sytem> can be `mac`, `linux` or `windows` " " How_to_Upgrade: " $ svn update ~/.vim_runtime " " Sections: " -> General " -> VIM user interface " -> Colors and Fonts " -> Files and backups " -> Text, tab and indent related " -> Visual mode related " -> Command mode related " -> Moving around, tabs and buffers " -> Statusline " -> Parenthesis/bracket expanding " -> General Abbrevs " -> Editing mappings " " -> Cope " -> Minibuffer plugin " -> Omni complete functions " -> Python section " -> JavaScript section " " " Plugins_Included: " " > minibufexpl.vim - http://www.vim.org/scripts/script.php?script_id=159 " Makes it easy to get an overview of buffers: " info -> :e ~/.vim_runtime/plugin/minibufexpl.vim " " > bufexplorer - http://www.vim.org/scripts/script.php?script_id=42 " Makes it easy to switch between buffers: " info -> :help bufExplorer " " > yankring.vim - http://www.vim.org/scripts/script.php?script_id=1234 " Emacs's killring, useful when using the clipboard: " info -> :help yankring " " > surround.vim - http://www.vim.org/scripts/script.php?script_id=1697 " Makes it easy to work with surrounding text: " info -> :help surround " " > snipMate.vim - http://www.vim.org/scripts/script.php?script_id=2540 " Snippets for many languages (similar to TextMate's): " info -> :help snipMate " " > mru.vim - http://www.vim.org/scripts/script.php?script_id=521 " Plugin to manage Most Recently Used (MRU) files: " info -> :e ~/.vim_runtime/plugin/mru.vim " " > Command-T - http://www.vim.org/scripts/script.php?script_id=3025 " Command-T plug-in provides an extremely fast, intuitive mechanism for opening filesa: " info -> :help CommandT " screencast and web-help -> http://amix.dk/blog/post/19501 " " " Revisions: " > 3.6: Added lots of stuff (colors, Command-T, Vim 7.3 persistent undo etc.) " > 3.5: Paste mode is now shown in status line if you are in paste mode " > 3.4: Added mru.vim " > 3.3: Added syntax highlighting for Mako mako.vim " > 3.2: Turned on python_highlight_all for better syntax " highlighting for Python " > 3.1: Added revisionsand bufexplorer.vim " """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => General """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Sets how many lines of history VIM has to remember set history=700 " Enable filetype plugin filetype plugin on filetype indent on " Set to auto read when a file is changed from the outside set autoread " With a map leader it's possible to do extra key combinations " like <leader>w saves the current file let mapleader = "," let g:mapleader = "," " Fast saving nmap <leader>w :w!<cr> " Fast editing of the .vimrc map <leader>e :e! ~/.vim_runtime/vimrc<cr> " When vimrc is edited, reload it autocmd! bufwritepost vimrc source ~/.vim_runtime/vimrc """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => VIM user interface """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Set 7 lines to the curors - when moving vertical.. set so=7 set wildmenu "Turn on WiLd menu set ruler "Always show current position set cmdheight=2 "The commandbar height set hid "Change buffer - without saving " Set backspace config set backspace=eol,start,indent set whichwrap+=<,>,h,l set ignorecase "Ignore case when searching set smartcase set hlsearch "Highlight search things set incsearch "Make search act like search in modern browsers set nolazyredraw "Don't redraw while executing macros set magic "Set magic on, for regular expressions set showmatch "Show matching bracets when text indicator is over them set mat=2 "How many tenths of a second to blink " No sound on errors set noerrorbells set novisualbell set t_vb= set tm=500 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Colors and Fonts """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" syntax enable "Enable syntax hl " Set font according to system set gfn=Monospace\ 10 set shell=/bin/zsh if has("gui_running") set guioptions-=T set t_Co=256 set background=dark colorscheme desert set nonu else colorscheme desert set background=dark set nonu endif set encoding=utf8 try lang en_US catch endtry set ffs=unix,dos,mac "Default file types """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Files, backups and undo """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Turn backup off, since most stuff is in SVN, git anyway... set nobackup set nowb set noswapfile """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Text, tab and indent related """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set expandtab set shiftwidth=4 set tabstop=4 set smarttab set number set lbr set tw=500 set ai "Auto indent set si "Smart indet set wrap "Wrap lines """""""""""""""""""""""""""""" " => Visual mode related """""""""""""""""""""""""""""" " Really useful! " In visual mode when you press * or # to search for the current selection vnoremap <silent> * :call VisualSearch('f')<CR> vnoremap <silent> # :call VisualSearch('b')<CR> " When you press gv you vimgrep after the selected text vnoremap <silent> gv :call VisualSearch('gv')<CR> map <leader>g :vimgrep // **/*.<left><left><left><left><left><left><left> function! CmdLine(str) exe "menu Foo.Bar :" . a:str emenu Foo.Bar unmenu Foo endfunction " From an idea by Michael Naumann function! VisualSearch(direction) range let l:saved_reg = @" execute "normal! vgvy" let l:pattern = escape(@", '\\/.*$^~[]') let l:pattern = substitute(l:pattern, "\n$", "", "") if a:direction == 'b' execute "normal ?" . l:pattern . "^M" elseif a:direction == 'gv' call CmdLine("vimgrep " . '/'. l:pattern . '/' . ' **/*.') elseif a:direction == 'f' execute "normal /" . l:pattern . "^M" endif let @/ = l:pattern let @" = l:saved_reg endfunction """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Command mode related """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Smart mappings on the command line cno $h e ~/ cno $d e ~/Desktop/ cno $j e ./ cno $c e <C-\>eCurrentFileDir("e")<cr> " $q is super useful when browsing on the command line cno $q <C-\>eDeleteTillSlash()<cr> " Bash like keys for the command line cnoremap <C-A> <Home> cnoremap <C-E> <End> cnoremap <C-K> <C-U> cnoremap <C-P> <Up> cnoremap <C-N> <Down> " Useful on some European keyboards map 陆 $ imap 陆 $ vmap 陆 $ cmap 陆 $ func! Cwd() let cwd = getcwd() return "e " . cwd endfunc func! DeleteTillSlash() let g:cmd = getcmdline() if MySys() == "linux" || MySys() == "mac" let g:cmd_edited = substitute(g:cmd, "\\(.*\[/\]\\).*", "\\1", "") else let g:cmd_edited = substitute(g:cmd, "\\(.*\[\\\\]\\).*", "\\1", "") endif if g:cmd == g:cmd_edited if MySys() == "linux" || MySys() == "mac" let g:cmd_edited = substitute(g:cmd, "\\(.*\[/\]\\).*/", "\\1", "") else let g:cmd_edited = substitute(g:cmd, "\\(.*\[\\\\\]\\).*\[\\\\\]", "\\1", "") endif endif return g:cmd_edited endfunc func! CurrentFileDir(cmd) return a:cmd . " " . expand("%:p:h") . "/" endfunc """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Moving around, tabs and buffers """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Map space to / (search) and c-space to ? (backgwards search) map <space> / map <c-space> ? map <silent> <leader><cr> :noh<cr> " Smart way to move btw. windows map <C-j> <C-W>j map <C-k> <C-W>k map <C-h> <C-W>h map <C-l> <C-W>l " Close the current buffer map <leader>bd :Bclose<cr> " Close all the buffers map <leader>ba :1,300 bd!<cr> " Use the arrows to something usefull map <right> :bn<cr> map <left> :bp<cr> " Tab configuration map <leader>tn :tabnew<cr> map <leader>te :tabedit map <leader>tc :tabclose<cr> map <leader>tm :tabmove " When pressing <leader>cd switch to the directory of the open buffer map <leader>cd :cd %:p:h<cr> command! Bclose call <SID>BufcloseCloseIt() function! <SID>BufcloseCloseIt() let l:currentBufNum = bufnr("%") let l:alternateBufNum = bufnr("#") if buflisted(l:alternateBufNum) buffer # else bnext endif if bufnr("%") == l:currentBufNum new endif if buflisted(l:currentBufNum) execute("bdelete! ".l:currentBufNum) endif endfunction " Specify the behavior when switching between buffers try set switchbuf=usetab set stal=2 catch endtry """""""""""""""""""""""""""""" " => Statusline """""""""""""""""""""""""""""" " Always hide the statusline set laststatus=2 " Format the statusline set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{CurDir()}%h\ \ \ Line:\ %l/%L:%c function! CurDir() let curdir = substitute(getcwd(), '/Users/amir/', "~/", "g") return curdir endfunction function! HasPaste() if &paste return 'PASTE MODE ' else return '' endif endfunction """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Parenthesis/bracket expanding """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" vnoremap $1 <esc>`>a)<esc>`<i(<esc> vnoremap $2 <esc>`>a]<esc>`<i[<esc> vnoremap $3 <esc>`>a}<esc>`<i{<esc> vnoremap $$ <esc>`>a"<esc>`<i"<esc> vnoremap $q <esc>`>a'<esc>`<i'<esc> vnoremap $e <esc>`>a"<esc>`<i"<esc> " Map auto complete of (, ", ', [ inoremap $1 ()<esc>i inoremap $2 []<esc>i inoremap $3 {}<esc>i inoremap $4 {<esc>o}<esc>O inoremap $q ''<esc>i inoremap $e ""<esc>i inoremap $t <><esc>i """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => General Abbrevs """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" iab xdate <c-r>=strftime("%d/%m/%y %H:%M:%S")<cr> """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Editing mappings """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "Remap VIM 0 map 0 ^ "Move a line of text using ALT+[jk] or Comamnd+[jk] on mac nmap <M-j> mz:m+<cr>`z nmap <M-k> mz:m-2<cr>`z vmap <M-j> :m'>+<cr>`<my`>mzgv`yo`z vmap <M-k> :m'<-2<cr>`>my`<mzgv`yo`z "Delete trailing white space, useful for Python
func! DeleteTrailingWS() exe "normal mz" %s/\s\+$//ge exe "normal `z" endfunc autocmd BufWrite *.py :call DeleteTrailingWS() set guitablabel=%t """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Cope """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Do :help cope if you are unsure what cope is. It's super useful! map <leader>cc :botright cope<cr> map <leader>n :cn<cr> map <leader>p :cp<cr> """""""""""""""""""""""""""""" " => bufExplorer plugin """""""""""""""""""""""""""""" let g:bufExplorerDefaultHelp=0 let g:bufExplorerShowRelativePath=1 map <leader>o :BufExplorer<cr> """""""""""""""""""""""""""""" " => Minibuffer plugin """""""""""""""""""""""""""""" let g:miniBufExplModSelTarget = 1 let g:miniBufExplorerMoreThanOne = 2 let g:miniBufExplModSelTarget = 0 let g:miniBufExplUseSingleClick = 1 let g:miniBufExplMapWindowNavVim = 1 let g:miniBufExplVSplit = 25 let g:miniBufExplSplitBelow=1 let g:bufExplorerSortBy = "name" autocmd BufRead,BufNew :call UMiniBufExplorer map <leader>u :TMiniBufExplorer<cr> """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Omni complete functions """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" autocmd FileType css set omnifunc=csscomplete#CompleteCSS """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Spell checking """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "Pressing ,ss will toggle and untoggle spell checking map <leader>ss :setlocal spell!<cr> "Shortcuts using <leader> map <leader>sn ]s map <leader>sp [s map <leader>sa zg map <leader>s? z= """""""""""""""""""""""""""""" " => Python section """""""""""""""""""""""""""""" let python_highlight_all = 1 au FileType python syn keyword pythonDecorator True None False self au BufNewFile,BufRead *.jinja set syntax=htmljinja au BufNewFile,BufRead *.mako set ft=mako au FileType python inoremap <buffer> $r return au FileType python inoremap <buffer> $i import au FileType python inoremap <buffer> $p print au FileType python inoremap <buffer> $f #--- PH ----------------------------------------------<esc>FP2xi au FileType python map <buffer> <leader>1 /class au FileType python map <buffer> <leader>2 /def au FileType python map <buffer> <leader>C ?class au FileType python map <buffer> <leader>D ?def """""""""""""""""""""""""""""" " => JavaScript section """"""""""""""""""""""""""""""" au FileType javascript call JavaScriptFold() au FileType javascript setl fen au FileType javascript setl nocindent au FileType javascript imap <c-t> AJS.log();<esc>hi au FileType javascript imap <c-a> alert();<esc>hi au FileType javascript inoremap <buffer> $r return au FileType javascript inoremap <buffer> $f //--- PH ----------------------------------------------<esc>FP2xi function! JavaScriptFold() setl foldmethod=syntax setl foldlevelstart=1 syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend function! FoldText() return substitute(getline(v:foldstart), '{.*', '{...}', '') endfunction setl foldtext=FoldText() endfunction """""""""""""""""""""""""""""" " => MRU plugin """""""""""""""""""""""""""""" let MRU_Max_Entries = 400 map <leader>f :MRU<CR> """""""""""""""""""""""""""""" " => Command-T """""""""""""""""""""""""""""" let g:CommandTMaxHeight = 15 set wildignore+=*.o,*.obj,.git,*.pyc noremap <leader>j :CommandT<cr> noremap <leader>y :CommandTFlush<cr> """""""""""""""""""""""""""""" " => Vim grep """""""""""""""""""""""""""""" let Grep_Skip_Dirs = 'RCS CVS SCCS .svn generated' set grepprg=/bin/grep\ -nH """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => MISC """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Remove the Windows ^M - when the encodings gets messed up noremap <Leader>m mmHmt:%s/<C-V><cr>//ge<cr>'tzt'm "Quickly open a buffer for scripbble map <leader>q :e ~/buffer<cr> au BufRead,BufNewFile ~/buffer iab <buffer> xh1 =========================================== map <leader>pp :setlocal paste!<cr> map <leader>bb :cd ..<cr>
.zshrc 在此强力推荐zsh.fish什马的都是浮云
#########################First Section########################
# History Setting{{{
export HISTFILE=~/.histfile
export HISTSIZE=5000
export SAVEHIST=5000
setopt INC_APPEND_HISTORY
setopt HIST_IGNORE_DUPS
setopt EXTENDED_HISTORY
#启用cd命令的历史记录,cd -[TAB]进入历史路径
setopt AUTO_PUSHD
#相同的历史路径只保留一个
setopt PUSHD_IGNORE_DUPS
#在命令前添加空格,不将此命令添加到记录文件中
setopt HIST_IGNORE_SPACE
#}}}
##############################################################
###################Second Section#############################
#others{{{
#允许在交互模式中试用注释
#cmd #这是注释
setopt INTERACTIVE_COMMENTS
#启动自动cd ,输入目录名则进入目录
setopt AUTO_CD
#扩展路径
#/v/c/p/p => /var/cache/pacman/pkg
setopt complete_in_word
#禁用core dumps
limit coredumpsize 0
#自动补全功能
setopt AUTO_LIST
setopt AUTO_MENU
#开启此选项,补全时会直接选中菜单项
setopt MENU_COMPLETE
autoload -Uz compinit
compinit
#}}}
##############################################################
################Promote setting###############################
#Prompt setup
autoload -U promptinit
promptinit
prompt elite2 green
##############################################################
################auto completion###############################
zstyle ':completion:*' verbose yes
zstyle ':completion:*' menu select
zstyle ':completion:*:*:default' force-list always
zstyle ':completion:*' select-prompt '%SSelect: lines: %L matches: %M [%p]'
zstyle ':completion:*:match:*' original only
zstyle ':completion::prefix-1:*' completer _complete
zstyle ':completion:predict:*' completer _complete
zstyle ':completion:incremental:*' completer _complete_correct
zstyle ':completion:*' completer _complete _prefix _correct _prefix _match _approximate
#路径补全
zstyle ':completion:*' expand 'yes'
zstyle ':completion:*' squeeze-slashes 'yes'
zstyle ':completion::completion:*' '\\'
#ssh补全
my_account=(
root@www.freetstar.com
)
zstyle ':completion:*:my_account' user-hosts $my_account
#彩色补全菜单
eval $(dircolors -b)
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
#修正大小写
zstyle ':completion:*' matcher-list '' 'm:(a-zA-Z)=(A-Za-z)'
#错误矫正
zstyle ':completion:*' completer _complete _math _approximate
zstyle ':completion:*:match:*' original only
zstyle ':completion:*:approximate:*' max-errors 1 numeric
#kill命令补全
compdef pkill=killall
zstyle ':completion:*:*:kill:*' menu yes select
zstyle ':completion:*:*:*:*:processes' fore-list always
zstyle ':completion:*:processes' command 'ps -au$USER'
#命令补全
zstyle ':completion:*:matches' group 'yes'
zstyle ':completion:*' group-name ''
zstyle ':completion:*:options' description 'yes'
zstyle ':completion:*:options' auto-description '%d'
zstyle ':completion:*:descriptions' format $'\e[01;33m -- %d --\e[0m '
zstyle ':completion:*:messages' format $'\e[01;35m -- %d --\e[0m'
zstyle ':completion:*:warings' format $'\e[01;31m -- No Match Found -- \e[0m'
zstyle ':completion:*:corrections' format $'\e[01;32m -- %d(errors: %e) -- \e[0m'
#cd ~补全顺序
zstyle ':completion:*:-tilde-:*' group-order 'name-directories' 'path-directories' 'users' 'expand'
#}}}
##############################################################
################################add sudo#######################
sudo-command-line(){
[[ -z $BUFFER ]] && zle up-history
[[ $BUFFER != sudo\ * ]] && BUFFER="sudo $BUFFER"
#插入光表后,光表移动到行末尾
}
zle -N sudo-command-line
#Esc Esc 在命令前插入sudo
bindkey "\e\e" sudo-command-line
###############################################################
###################associate the file with applications#######
autoload -U zsh-mime-setup
zsh-mime-setup
alias -s png=eog
alias -s c=vim
alias -s cpp=vim
############################################################
####################alias configuration######################
alias grep='grep --color=auto'
alias ll='ls -l'
alias hm="history|grep"
alias history='history -fi'
alias ls='ls --color=auto'
alias top10='print -l $((o)history%% *)|uniq -c|sort -nr|head -n 10'
##############################################################
#####zstyle
zstyle :compinstall filename '/home/lgx/.zshrc'
#We set some options here
#setopt extended_glob
setopt correctall
export HISTTIMEFORMAT='%F %T '
#less 语法高亮需要安装source-highlight
PAGER='less -X -M'
export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s"
export LESS=' -R '
#让cat命令也语法高亮
hlcat(){ less $*|cat }
alias tom='hlcat'
#########
#zsh有一个奇怪的现象,就是新安装完一个软件之后
#无法tab出来,也就是无法通过tab试用,只能全命令打出
#有答案说是zsh是先生成哈席表,故需要rehash一下...
#
#
#
#
#
#
#
#
#
#########
.vimrc我忘了摘自哪里了 .zshrc大部分参考:http://forum.ubuntu.org.cn/viewtopic.php?f=95&t=138936
发表在《
发表在《
发表在《
呵呵 都是我喜欢的东东哦
[回复]
freetstar
回复:
一月 14th, 2011 at 6:31 下午
@banban, banban姐好久不见阿
[回复]
banban
回复:
一月 14th, 2011 at 6:32 下午
@freetstar, 恩 好久不见 O(∩_∩)O哈哈~
[回复]
freetstar
回复:
一月 14th, 2011 at 7:03 下午
@banban, 吃好喝好,有空来天津玩
[回复]
banban
回复:
一月 18th, 2011 at 10:05 上午
@freetstar, 好 呵呵
[回复]
敢不敢换个贴代码的插件,你这个太不给力了,复制下还带行号,想要同时删还需要一串命令,不给力!
[回复]
freetstar
回复:
一月 10th, 2011 at 9:04 下午
右上角或者右下角有复制功能的,可以选择复制到剪贴板
[回复]
。。。这个真的看不懂。。
[回复]
换皮了。我快都不认得了。
[回复]
freetstar
回复:
一月 5th, 2011 at 10:13 下午
@ptubuntu, 是滴,一直想找一个简洁的
[回复]
Long long long…….
[回复]
freetstar
回复:
一月 5th, 2011 at 9:27 上午
@百里,
[回复]
我能做的只有收藏!
[回复]
freetstar
回复:
一月 4th, 2011 at 9:00 上午
@Mucid, 有的也挺乱的,我还不知道他们的意思
[回复]
满屏幕的代码~~~
[回复]
freetstar
回复:
一月 3rd, 2011 at 9:37 下午
@dorole, 是滴是滴
[回复]