Mac: Initialize
/etc/profile
# System-wide .profile for sh(1) printf "%-8s %-30s %-4s %s\n" @@@@@ /etc/profile '==>' Commence if [ -x /usr/libexec/path_helper ]; then eval `/usr/libexec/path_helper -s` fi # If shell is BASH, source /etc/bashrc if [ "${BASH-no}" != "no" ]; then [ -r /etc/bashrc ] && . /etc/bashrc fi printf "%-8s %-30s %-4s %s\n" @@@@@ /etc/profile '==>' Closure
/etc/bashrc
# System-wide .bashrc file for interactive bash(1) shells. printf "%-8s %-30s %-4s %s\n" @@@@@ /etc/bashrc '==>' Commence # Prevent double source if [ -z "$BASHRCSOURCED" ]; then BASHRCSOURCED=Y # Interactive shell if [ "$PS1" ]; then # Make bash check its window size after a process completes shopt -s checkwinsize [ -r "/etc/bashrc_$TERM_PROGRAM" ] && . "/etc/bashrc_$TERM_PROGRAM" source /opt/homebrew/etc/init.d/init fi fi printf "%-8s %-30s %-4s %s\n" @@@@@ /etc/bashrc '==>' Closure
defaults write -g ApplePressAndHoldEnabled -boolean false
brew install bash-completion@2 bash ngrok tree coreutils htop lsof less nmap arping iproute2mac grep gawk gnu-sed gnu-which util-linux pstree findutils git man-db gnu-tar texinfo
~/.bash_profile
# ~/.bash_profile printf "%-8s %-30s %-4s %s\n" @@@@@ ~/.bash_profile '==>' Commence # get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi printf "%-8s %-30s %-4s %s\n" @@@@@ ~/.bash_profile '==>' Closure
~/.bashrc
# ~/.bashrc printf "%-8s %-30s %-4s %s\n" @@@@@ ~/.bashrc '==>' Commence # source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # homebrew eval "$(/opt/homebrew/bin/brew shellenv)" # locale export LANG=en_US.UTF-8 export LC_CTYPE=en_US.UTF-8 # user specific environment and startup programs if [[ ! "$PATH" =~ "$HOME/.local/bin:$HOME/bin/" ]]; then PATH="$HOME/.local/bin:$HOME/bin:$PATH" fi export PATH # MANPATH export MANPATH="/opt/homebrew/opt/coreutils/libexec/gnuman:${MANPATH}" export LDFLAGS='-L/opt/homebrew/Cellar/zlib/1.2.12/lib' export CPPFLAGS='-I/opt/homebrew/Cellar/zlib/1.2.12/include' export HADOOP_HOME=~/gi/hadoop # maven export MAVEN_HOME=~/opt/maven export PATH=$PATH:$MAVEN_HOME/bin # alias alias ll='ls -lAF --color=always' alias k=kubectl # proxy #export HTTP_PROXY='http://aa:bb@localhost:8888' #export HTTPS_PROXY='http://aa:bb@localhost:8888' # util-linux export PATH="/opt/homebrew/opt/util-linux/bin:$PATH" export PATH="/opt/homebrew/opt/util-linux/sbin:$PATH" export LDFLAGS="-L/opt/homebrew/opt/util-linux/lib" export CPPFLAGS="-I/opt/homebrew/opt/util-linux/include" # coreutils & grep & gnu-sed & gnu-which & visual studio code & findutils & git & man-db & gnu-tar & MySQL declare -a PATHS=( /opt/homebrew/opt/coreutils/libexec/gnubin /opt/homebrew/opt/grep/libexec/gnubin /opt/homebrew/opt/gnu-sed/libexec/gnubin /opt/homebrew/opt/gnu-which/libexec/gnubin /opt/homebrew/opt/findutils/libexec/gnubin /opt/homebrew/opt/git/bin /opt/homebrew/opt/man-db/libexec/bin /opt/homebrew/opt/gnu-tar/libexec/gnubin /opt/homebrew/opt/texinfo/bin "/Applications/Visual Studio Code.app/Contents/Resources/app/bin" # Visual Studio Code ~/Library/Python/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin # The original version is saved in .bash_profile.pysave /usr/local/mysql/support-files /usr/local/mysql/bin ) for path in "${PATHS[@]}"; do PATH="${path}:$PATH" done # bash-completion, only useful in interactive shell complete -o default -F __start_kubectl k # k alias kubectl export BASH_COMPLETION_COMPAT_DIR="/opt/homebrew/etc/bash_completion.d" [[ -r "$(brew --prefix)/etc/profile.d/bash_completion.sh" ]] && . "$(brew --prefix)/etc/profile.d/bash_completion.sh" #source /Library/Developer/CommandLineTools/usr/share/git-core/git-completion.bash # git completion source <(kubectl completion bash) # kubectl completion #for directory in /opt/homebrew/opt/util-linux/etc/bash_completion.d /opt/homebrew/share/bash-completion/completions; do declare -a COMPLETIONS=( /opt/homebrew/opt/git/etc/bash_completion.d ) for directory in ${COMPLETIONS[@]}; do if [[ -d $directory && -r $directory && -x $directory ]]; then for file in $directory/*; do [[ -r $file ]] && source $file done fi done # node, fnm eval $(fnm env) # >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$('/Users/C5350373/opt/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else if [ -f "/Users/C5350373/opt/anaconda3/etc/profile.d/conda.sh" ]; then . "/Users/C5350373/opt/anaconda3/etc/profile.d/conda.sh" else export PATH="/Users/C5350373/opt/anaconda3/bin:$PATH" fi fi unset __conda_setup # <<< conda initialize <<< printf "%-8s %-30s %-4s %s\n" @@@@@ ~/.bashrc '==>' Closure
/opt/homebrew/etc/init.d/init
#--------------------------------------------------------------------- # History #--------------------------------------------------------------------- export HISTCONTROL=ignoredups export HISTFILE=$HOME/.bash_history export HISTFILESIZE=2000 export HISTSIZE=1000 shopt -s histappend if unset "${HISTTIMEFORMAT}" 2>/dev/null; then export HISTTIMEFORMAT="$(echo -e "\e[7m$(whoami)\e[0m") %F %T>> " #typeset -r HISTTIMEFORMAT fi #--------------------------------------------------------------------- # Trap #--------------------------------------------------------------------- trap 'echo -e "\U26A1 \e[30;46mCommand >>$BASH_COMMAND<< failed with error code $?\e[0m \U1F300"' ERR trap 'echo $BASH_COMMAND > /dev/null' DEBUG #--------------------------------------------------------------------- # PS1 #--------------------------------------------------------------------- function languor() { if git rev-parse --git-dir >&/dev/null; then local msg msg=$(__git_ps1) msg=${msg:1} PS1="${CONDA_PROMPT_MODIFIER}\[\e[1;31m\]\u\[\e[0m\]@\[\e[1;32m\]\h\[\e[0m\][\[\e[1;33m\]\t\[\e[0m\]]:\[\e[36m\]${msg}\[\e[0m\]\[\e[1;34m\]\w\[\e[0m\]\\$ " else PS1="${CONDA_PROMPT_MODIFIER}\[\e[1;31m\]\u\[\e[0m\]@\[\e[1;32m\]\h\[\e[0m\][\[\e[1;33m\]\t\[\e[0m\]]:\[\e[1;34m\]\w\[\e[0m\]\\$ " fi } declare -x PROMPT_COMMAND=languor #--------------------------------------------------------------------- # User #--------------------------------------------------------------------- if [[ $(id -u) -eq 0 ]]; then echo -e "\U1F308\U2744\U1F319 \e[34;47mWelcome Root\e[0m \U1F31F\U1F320\U231B" else echo -e "\U1F31B\U1F31F Welcome Ordinary" fi
~/.vimrc
set nocompatible " 关闭vi兼容模式 filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on " " Brief help " :PluginList - lists configured plugins " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate " :PluginSearch foo - searches for foo; append `!` to refresh local cache " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal " " see :h vundle for more details or wiki for FAQ " Put your non-Plugin stuff after this line syntax on " 自动语法高亮 set number " 显示行号 set cursorline " 突出显示当前行 set ruler " 打开状态栏标尺 set shiftwidth=4 " 设定 << 和 >> 命令移动时的宽度为 4 set softtabstop=4 " 使得按退格键时可以一次删掉 4 个空格 set tabstop=4 " 设定 tab 长度为 4 set nobackup " 覆盖文件时不备份 set backupcopy=yes " 设置备份时的行为为覆盖 set ignorecase smartcase " 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感 set nowrapscan " 禁止在搜索到文件两端时重新搜索 set incsearch " 输入搜索内容时就显示搜索结果 set hlsearch " 搜索时高亮显示被找到的文本 set noerrorbells " 关闭错误信息响铃 set novisualbell " 关闭使用可视响铃代替呼叫 set t_vb= " 置空错误铃声的终端代码 " set showmatch " 插入括号时,短暂地跳转到匹配的对应括号 " set matchtime=2 " 短暂跳转到匹配括号的时间 set magic " 设置魔术 set hidden " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存 set guioptions-=T " 隐藏工具栏 set guioptions-=m " 隐藏菜单栏 set smartindent " 开启新行时使用智能自动缩进 set backspace=indent,eol,start " 不设定在插入状态无法用退格键和 Delete 键删除回车符 set cmdheight=1 " 设定命令行的行数为 1 set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏) set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\ " 设置在状态行显示的信息 set foldenable " 开始折叠 set foldmethod=manual " 设置手动折叠 set foldcolumn=0 " 设置折叠区域的宽度 setlocal foldlevel=1 " 设置折叠层数为 " set foldclose=all " 设置为自动关闭折叠 " nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR> " 用空格键来开关折叠 set nofixeol " set noeol " braces auto-pair inoremap { {}<Esc>ha inoremap ( ()<Esc>ha inoremap [ []<Esc>ha inoremap " ""<Esc>ha inoremap ' ''<Esc>ha inoremap ` ``<Esc>ha " Return to last edit position when opening files (You want this!) autocmd BufReadPost * \ if line("'\"") > 0 && line("'\"") <= line("$") | \ exe "normal! g`\"" | \ endif
docker completion
ln -fnsv /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion $(brew --prefix)/etc/bash_completion.d/docker
ln -fnsv /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion $(brew --prefix)/etc/bash_completion.d/docker-compose
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2020-08-03 SQL server 查询库中每表记录数,字节数和总数
2020-08-03 rds删除SQL server数据库
2020-08-03 SQL server 统计库中记录数
2020-08-03 SQL server查询每个库的数据文件大小和日志文件大小