约 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