Linux 环境下的个人常用配置
前言
正式工作一年了,这次刚好碰上端午节,有空整理下自己的常用配置。
Linux 环境默认的命令太长了,经常敲还是受不了。程序员或许就是一批比较喜欢偷懒的人吧 ^-^
Bash
~/.bash_profile 内容如下
# Shows Git branch name in prompt.
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
# export PS1="\u@\h \W\[\033[32m\]\$(parse_git_branch)\[\033[00m\] $ "
#export PS1="\W\[\033[32m\]\$(parse_git_branch)\[\033[00m\]"
#export PS1="\[\e[32;1m\]\W $\[\e[0m\]\[\033[32m\]\$(parse_git_branch)\[\033[00m\] "
export PS1="[\t] \[\e[32;1m\]\w $\[\e[0m\]\[\033[32m\]\$(parse_git_branch)\[\033[00m\] "
export PATH=$PATH:"D:\env\tree-1.5.2.2-bin\bin"
export PATH=$PATH:"D:\env\wget-1.21.4-win64"
export PATH=$PATH:"D:\env\ctags58"
export PATH=$PATH:"D:\env\MinGW32\bin"
source ~/.bashrc
~/.bashrc 内容如下
alias l='ls'
alias ll='ls -l'
alias fn='find -name'
alias grep='grep --color=auto'
alias grn='grep -rn'
alias v='vim'
alias vvi='vim ~/.vimrc'
alias tree='tree -FCN'
alias val='vi ~/.bashrc'
alias sal='source ~/.bashrc'
#alias make='mingw32-make'
alias .='cd ..'
alias ..='cd ../..'
Git
[core]
quotepath = false
[alias]
co = checkout
ci = commit
br = branch
st = status
last = log -1
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
Vim
vim 的配置因人而异,我在 sylar-yin/myvim 的基础上加了我自己常用的,比较顺手。
自动补全采用了 skywind3000 的插件
set nocompatible
syntax enable
filetype plugin on
filetype indent on
set autoindent
"colorscheme desert
colorscheme darkblue
set nu
set showcmd
set backspace=eol,start,indent
set magic
set showmatch
set nobackup
set nowb
set noswapfile
set ai
set si
set cindent
set wildmenu
set expandtab
set smarttab
set shiftwidth=4
set tabstop=4
set history=400
set encoding=utf8
set fileencodings=utf8,gb2312,gb18030,ucs-bom,latin1
if &term == "xterm"
set t_Co=8
set t_Sb=^[[4%dm
set t_Sf=^[[3%dm
endif
set cmdheight=2
set laststatus=2
"highlight StatusLine cterm=bold ctermfg=yellow ctermbg=blue
highlight StatusLine cterm=bold
set statusline=%F%m%r%h%w%=\[POS=%l,%v][%p%%]\[%{&fileformat}]\[%{&encoding}]
"set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
nmap <F7> :TlistToggle <CR>
let g:SuperTabRetainCompletionType=2
let g:SuperTabDefaultCompletionType="<C-X><C-O>"
set tags+=tags
set tags+=~/.vim/tags/libc.tags
set tags+=~/.vim/tags/cpp.tags
set tags+=~/.vim/tags/glib.tags
set tags+=~/.vim/tags/susv2.tags
set completeopt=longest,menu
let OmniCpp_NamespaceSearch=1
let OmniCpp_GlobalScopeSearch=2
let OmniCpp_ShowAccess=1
let OmniCpp_MayCompleteDot=1
let OmniCpp_MayCompleteArrow=1
let OmniCpp_MayCompleteScope=1
let OmniCpp_DefaultNamespaces=["std","_GLIBCXX_STD"]
" enable this plugin for filetypes, '*' for all files.
let g:apc_enable_ft = {'text':1, 'markdown':1, 'cpp':1, 'tcl':1}
" disable error bells
set noerrorbells visualbell t_vb=
autocmd GUIEnter * set visualbell t_vb=
" faster save and quit
nnoremap <space>w :w<cr>
nnoremap <space>q :q<cr>
" swap : and ;
nnoremap : ;
nnoremap ; :
" highlight searching
set hlsearch
nnoremap <backspace> :nohl<cr>
" buffer
nnoremap [b :bp<cr>
nnoremap ]b :bn<cr>
" sync with D
nnoremap Y y$
" quicker insert empty line
nnoremap zj o<Esc>
nnoremap zk O<Esc>

浙公网安备 33010602011771号