.bash_self
alias cl="clear"
alias gp="git push"
alias gl="git log"
alias gs="git status"
alias gitst="git status"
alias gitpush="git push"
alias la="ls -a"
alias ll="ls -l"
alias grepnode="ps -ax | grep node"
alias vimOn='vim -On'
alias vimon='vim -on'
alias proxy='export http_proxy=http://localhost:7078/ && export https_proxy=http://localhost:7078/'
# 开启vi模式
# set -o vi
EDITOR=vim
export EDITOR
# git乱码
export LESSCHARSET=utf-8
.inputrc
set completion-ignore-case on
.vimrc
" vim 配置文件位于 /etc/vim/vimrc 内,全局配置
" vim 若需要单独用户配置,则在/home/[USERNAME]文件夹(就是~)下创建配置文件 .vimrc 即可
" 安装VimPlug curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
call plug#begin('~/.vim/plugged')
Plug 'itchyny/lightline.vim'
Plug 'scrooloose/nerdtree'
Plug 'mattn/emmet-vim'
" Plug 'Yggdroot/indentLine'
" Plug 'vim-syntastic/syntastic'
" Plug 'othree/javascript-libraries-syntax.vim'
" Plug 'jelera/vim-javascript-syntax'
" Plug 'ternjs/tern_for_vim'
Plug 'vim-scripts/JavaScript-Indent'
call plug#end()
" nerdtree忽略文件
let NERDTreeIgnore=['^node_modules']
" NERDTree 忽略文件或文件夹
let g:NERDTreeIgnore = ['^node_modules$', '^package-lock.json']
" ctrl + c 复制到剪贴板
vmap <C-x> :!pbcopy<CR>
vmap <C-c> :w !pbcopy<CR><CR>
" 默认开启 NERDTree
" au VimEnter * NERDTree
" 打开语法高亮
syntax on
" 使用配色方案
colorscheme desert
" 打开文件类型检测功能
filetype on
" 不同文件类型采用不同缩进
" filetype indent on
" 允许使用插件
filetype plugin on
filetype plugin indent on
" 关闭vi模式
set nocp
" 与windows共享剪贴板
set clipboard+=unnamed
" 取消VI兼容,VI键盘模式不易用
set nocompatible
" 显示行号, 或 set number
set nu
" 自动换行
" set wrap
"历史命令保存行数
set history=100
" 当文件被外部改变时自动读取
set autoread
" 取消自动备份及产生swp文件
set nobackup
set nowb
set noswapfile
" 允许使用鼠标点击定位
" set mouse=a
" 允许区域选择
set selection=exclusive
set selectmode=mouse,key
" 高亮光标所在行
set cursorline
" 取消光标闪烁
set novisualbell
" 总是显示状态行
set laststatus=2
" 状态栏显示当前执行的命令
set showcmd
" 标尺功能,显示当前光标所在行列号
set ruler
" 设置命令行高度为3
set cmdheight=3
" 粘贴时保持格式,防止大文本粘贴卡死,自动设置貌似无效,可以vim内部手动设置
set paste
" 高亮显示匹配的括号
set showmatch
" 在搜索的时候忽略大小写
set ignorecase
" 高亮被搜索的句子
set hlsearch
" 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
set incsearch
" 继承前一行的缩进方式,特别适用于多行注释
" set autoindent
" 为C程序提供自动缩进
set smartindent
" 使用C样式的缩进
set cindent
" 制表符为2
set tabstop=2
" 统一缩进为2
set softtabstop=2
set shiftwidth=2
set expandtab
" 允许使用退格键,或set backspace=2
set backspace=eol,start,indent
set whichwrap+=<,>,h,l
" 取消换行
set nowrap
" 启动的时候不显示那个援助索马里儿童的提示
set shortmess=atI
" 在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\
" 光标移动到buffer的顶部和底部时保持3行距离, 或set so=3
set scrolloff=3
" 设定默认解码
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
" 设定字体
set guifont=Courier_New:h11:cANSI
set guifontwide=新宋体:h11:cGB2312
" 设定编码
set enc=utf-8
set fileencodings=ucs-bom,utf-8,chinese
set langmenu=zh_CN.UTF-8
language message zh_CN.UTF-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
" 自动补全
filetype plugin indent on
set completeopt=longest,menu
" 自动补全命令时候使用菜单式匹配列表
set wildmenu
autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType java set omnifunc=javacomplete#Complet
" 配置文件后缀指定的文件类型
au BufRead,BufNewFile *.vue set filetype=html
" 按键映射
inoremap ' ''<ESC>i
inoremap " ""<ESC>i
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {<CR>}<ESC>O
"设置跳出自动补全的括号
func SkipPair()
if getline('.')[col('.') - 1] == ')' || getline('.')[col('.') - 1] == ']' || getline('.')[col('.') - 1] == '"' || getline('.')[col('.') - 1] == "'" || getline('.')[col('.') - 1] == '}'
return "\<ESC>la"
else
return "\t"
endif
endfunc
" 将tab键绑定为跳出括号
inoremap <TAB> <c-r>=SkipPair()<CR>
.gitconfig
[alias]
st = status
cm = commit -m
co = checkout
br = branch
com = checkout master
cd = checkout dev
mm = merge main
md = merge dev
pm = pull origin main
pms = pull origin main
pd = pull origin dev
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
[push]
default = current
[credential "http://hostname:8090"]
provider = gitlab
[user]
email = xxx@any.com
name = xxx
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[credential]
helper = store