Skip to content

约 47 个字 193 行代码 预计阅读时间 3 分钟 共被读过

常用配置文件

一些网站

wezterm

Text Only
local wezterm = require 'wezterm'
local c = {}
if wezterm.config_builder then
  c = wezterm.config_builder()
end

-- 初始大小
c.initial_cols = 96
c.initial_rows = 24

-- 关闭时不进行确认
c.window_close_confirmation = 'NeverPrompt'

-- 字体
c.font = wezterm.font 'JetBrains Mono'

-- 配色
local materia = wezterm.color.get_builtin_schemes()['Material Darker (base16)']
materia.scrollbar_thumb = '#cccccc' -- 更明显的滚动条
c.colors = materia

-- 透明背景
c.window_background_opacity = 0.9
-- 取消 Windows 原生标题栏
c.window_decorations = "INTEGRATED_BUTTONS|RESIZE"
-- 滚动条尺寸为 15 ,其他方向不需要 pad
c.window_padding = { left = 0, right = 15, top = 0, bottom = 0 }
-- 启用滚动条
c.enable_scroll_bar = true

-- 默认启动 MinGW64 / MSYS2
c.default_prog = { 'C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe' }

-- 启动菜单的一些启动项
c.launch_menu = {
  { label = 'MINGW64 / MSYS2', args = { 'C:/msys64/msys2_shell.cmd', '-defterm', '-here', '-no-start', '-shell', 'zsh', '-mingw64' }, },
  { label = 'MSYS / MSYS2',    args = { 'C:/msys64/msys2_shell.cmd', '-defterm', '-here', '-no-start', '-shell', 'zsh', '-msys' }, },
  { label = 'PowerShell',      args = { 'C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe' }, },
  { label = 'CMD',             args = { 'cmd.exe' }, },
  { label = 'nas / ssh',       args = { 'C:/msys64/usr/bin/ssh.exe', 'nas' }, },
}

-- 取消所有默认的热键
c.disable_default_key_bindings = true
local act = wezterm.action
c.keys = {
  -- Ctrl+Shift+Tab 遍历 tab
  { key = 'Tab', mods = 'SHIFT|CTRL', action = act.ActivateTabRelative(1) },
  -- F11 切换全屏
  { key = 'F11', mods = 'NONE', action = act.ToggleFullScreen },
  -- Ctrl+Shift++ 字体增大
  { key = '+', mods = 'SHIFT|CTRL', action = act.IncreaseFontSize },
  -- Ctrl+Shift+- 字体减小
  { key = '_', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize },
  -- Ctrl+Shift+C 复制选中区域
  { key = 'C', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' },
  -- Ctrl+Shift+N 新窗口
  { key = 'N', mods = 'SHIFT|CTRL', action = act.SpawnWindow },
  -- Ctrl+Shift+T 新 tab
  { key = 'T', mods = 'SHIFT|CTRL', action = act.ShowLauncher },
  -- Ctrl+Shift+Enter 显示启动菜单
  { key = 'Enter', mods = 'SHIFT|CTRL', action = act.ShowLauncherArgs { flags = 'FUZZY|TABS|LAUNCH_MENU_ITEMS' } },
  -- Ctrl+Shift+V 粘贴剪切板的内容
  { key = 'V', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' },
  -- Ctrl+Shift+W 关闭 tab 且不进行确认
  { key = 'W', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = false } },
  -- Ctrl+Shift+PageUp 向上滚动一页
  { key = 'PageUp', mods = 'SHIFT|CTRL', action = act.ScrollByPage(-1) },
  -- Ctrl+Shift+PageDown 向下滚动一页
  { key = 'PageDown', mods = 'SHIFT|CTRL', action = act.ScrollByPage(1) },
  -- Ctrl+Shift+UpArrow 向上滚动一行
  { key = 'UpArrow', mods = 'SHIFT|CTRL', action = act.ScrollByLine(-1) },
  -- Ctrl+Shift+DownArrow 向下滚动一行
  { key = 'DownArrow', mods = 'SHIFT|CTRL', action = act.ScrollByLine(1) },
}

return c

Powershell

Text Only
# 引入所需模块
Import-Module Terminal-Icons
Import-Module PSReadLine
Import-Module posh-git
# Import-Module ZLocation

# 初始化 oh-my-posh
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\M365Princess.omp.json" | Invoke-Expression

# 设置编码,避免中文字符乱码
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding


Invoke-Expression (& { (zoxide init powershell | Out-String) })

zsh

Bash
# ==================== 环境变量与路径设置 ====================
# 如果从 bash 切换过来,可能需要调整 $PATH
# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH

# Oh My Zsh 安装路径
export ZSH="$HOME/.oh-my-zsh"

# 设置主题为 Powerlevel10k
ZSH_THEME="powerlevel10k/powerlevel10k"

# 插件列表
plugins=(
    zsh-syntax-highlighting  # 语法高亮
    zsh-autosuggestions      # 自动建议
    git                      # Git 快捷命令
    autojump                 # 快速跳转目录
    extract                  # 解压命令简化
    z                        # 目录跳转
    history-substring-search
    sudo
    colored-man-pages
    docker
)

# 加载 Oh My Zsh
source $ZSH/oh-my-zsh.sh

# ==================== Conda 初始化 ====================
# !! 此部分由 conda init 管理 !!
__conda_setup="$('/usr/local/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/usr/local/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/usr/local/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/usr/local/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup

# ==================== CUDA 环境设置 ====================
export CUDA_HOME=/usr/local/cuda-12.1
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

# ==================== 代理设置 ====================
# 如果需要代理,可以取消注释以下行
# export http_proxy=http://127.0.0.1:7897
# export https_proxy=https://127.0.0.1:7897

# ==================== SSH Agent 初始化 ====================
eval "$(ssh-agent -s)"

# ==================== 语言环境设置 ====================
export LC_ALL=zh_CN.UTF-8
export LANG=zh_CN.UTF-8

# ==================== Powerlevel10k 即时提示 ====================
# 启用 Powerlevel10k 即时提示,必须放在 .zshrc 的顶部附近
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
  source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi

# ==================== FZF 模糊查找 ====================
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

# ==================== 自定义别名 ====================
function set_proxy() {
    export http_proxy=http://127.0.0.1:7897
    export https_proxy=http://127.0.0.1:7897
    export all_proxy=socks5://127.0.0.1:7897
    echo "Proxy enabled."
}

function unset_proxy() {
    unset http_proxy https_proxy all_proxy
    echo "Proxy disabled."
}

alias google='curl -v -I https://www.google.com/'
alias nosjtuvpn='sudo ipsec down "sjtu-student"'
alias sjtuvpn='sudo ipsec up "sjtu-student"'
alias whereip='curl whatismyip.sjtu.edu.cn'
alias ll='eza --all --long --icons'  # 替换为 eza 的详细列表(类似 ls -alF)
alias la='eza --all --icons -1'      # 替换为 eza 的所有文件(类似 ls -A)
alias l='eza --group-directories-first --icons'   # 替换为 eza 的简洁列表(类似 ls -CF)
alias grep='grep --color=auto'  # 让 grep 输出带颜色
alias df='df -h'    # 以人类可读格式显示磁盘使用情况
alias du='du -h'    # 以人类可读格式显示目录大小
alias tl='tldr'
alias bat='batcat'
alias fd='fdfind'

# manpages-zh, fzf
# ==================== Powerlevel10k 配置 ====================
# 自定义提示符,运行 `p10k configure` 或编辑 ~/.p10k.zsh
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion