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

 

 

 

posted @   ascertain  阅读(112)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!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查询每个库的数据文件大小和日志文件大小
点击右上角即可分享
微信分享提示