4.3 KiB
4.3 KiB
Remember to save these files and reload the configurations for the changes to take effect:
- For
~/.bashrc:source ~/.bashrc - For
~/.tmux.conf:tmux source-file ~/.tmux.conf - For
~/.wezterm.lua: Restart Wezterm
~/.bashrc:
# ~/.bashrc: executed by bash(1) for non-login shells.
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# Append to the history file, don't overwrite it
shopt -s histappend
# Check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# Enable color support of ls
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
fi
# Custom keybindings
bind '"\C-a": beginning-of-line'
bind '"\C-e": end-of-line'
bind '"\eb": backward-word'
bind '"\ef": forward-word'
bind '"\C-w": backward-kill-word'
bind '"\C-u": backward-kill-line'
bind '"\C-k": kill-line'
# Alias definitions
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# Enable programmable completion features
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/medusa/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/medusa/miniconda3/etc/profile.d/conda.sh" ]; then
. "/home/medusa/miniconda3/etc/profile.d/conda.sh"
else
export PATH="/home/medusa/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
# Launch tmux automatically when Wezterm is started
if [[ -n "$WEZTERM_PID" ]] && [[ -z "$TMUX" ]]; then
# Generate a unique session name based on the current directory
session_name="$(basename "$(pwd)")"
tmux new-session -A -s "$session_name"
fi
~/.tmux.conf:
# Set the default terminal mode to 256color
set -g default-terminal "screen-256color"
set -ga terminal-overrides ",xterm-256color:Tc"
# Enable mouse support
set -g mouse on
# Set the prefix key to Ctrl+b
set -g prefix C-b
unbind C-a
bind C-b send-prefix
# Pane navigation
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Pane resizing
bind H resize-pane -L 5
bind J resize-pane -D 5
bind K resize-pane -U 5
bind L resize-pane -R 5
# Window management
bind c new-window
bind n next-window
bind p previous-window
bind w choose-window
# Session management
bind s choose-session
bind d detach-client
# Reload configuration
bind r source-file ~/.tmux.conf
~/.wezterm.lua:
-- Pull in the wezterm API
local wezterm = require 'wezterm'
-- This will hold the configuration
local config = wezterm.config_builder()
-- Set the color scheme
config.color_scheme = 'AdventureTime'
-- Increase the font size
config.font_size = 12
-- Enable true color support
config.set_environment_variables = {
COLORTERM = "truecolor",
}
-- Return the configuration to wezterm
return config
And here's the content of ~/.bash_aliases:
# Directory navigation
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias ~='cd ~'
# Listing files and directories
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
# Directory management
alias md='mkdir -p'
alias rd='rmdir'
# File management
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
# System information
alias df='df -h'
alias du='du -h'
alias free='free -m'
alias ps='ps auxf'
# Network utilities
alias ping='ping -c 5'
alias fastping='ping -c 100 -s.2'
alias ports='netstat -tulanp'
# Git aliases
alias gs='git status'
alias gd='git diff'
alias ga='git add'
alias gc='git commit'
alias gp='git push'
alias gl='git log --oneline'
# Miscellaneous
alias grep='grep --color=auto'
alias h='history'
alias j='jobs -l'
alias path='echo -e ${PATH//:/\\n}'
These configurations include all the updates we discussed, such as custom keybindings, aliases, tmux settings, and Wezterm configuration. Unnecessary parts have been removed to keep the configurations clean and concise.