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>
posted @ 2025-06-01 17:14  gnulxj  阅读(17)  评论(0)    收藏  举报