修改文件

This commit is contained in:
hotalexnet 2025-08-04 00:39:14 +08:00
parent 534b75605b
commit 7bda713cc0
4 changed files with 219 additions and 20 deletions

View file

@ -1,25 +1,97 @@
set ifs "\n" # 文件名含空格时用换行分隔
set hidden # 显示隐藏文件
set number # 显示行号
set preview # 开启预览
set previewer ~/.config/lf/pv.sh # 自定义预览脚本
set icons # 显示图标
# 设置显示隐藏文件
set hidden true
# 常用快捷键
map <C-f> $lf -remote "send $id select $(fd -t f -t d . | fzf)" # 用 fzf 跳转
map <C-y> ${{
# 复制当前文件绝对路径
printf '%s\n' "$fx" | xclip -sel clip
# 文件名匹配时忽略大小写
set ignorecase true
# 启用 SIXEL 图像支持
set sixel true
# 设置按时间排序
set sortby time
# 显示行号
set number
# 设置行号样式
set numberfmt "\033[90m"
# 设置界面边框样式
set borderfmt "\033[90m"
# 设置当前选中文本的样式
set cursoractivefmt "\033[31;104m"
# 设置父级目录的样式
set cursorparentfmt "\033[31;103m"
# 定义状态栏的显示格式
set rulerfmt "%d |%a |%p |\033[7;31m %m \033[0m |\033[7;33m %c \033[0m |\033[7;35m %s \033[0m |\033[7;34m %f \033[0m |%i/%t"
# 文件名含空格时用换行分隔
set ifs "\n"
# 开启预览
set preview
# 自定义预览脚本
set previewer ~/.config/lf/pv.sh
# Ctrl+f 用fzf搜索当前目录中的文件
map <c-f> $lf -remote "send $id select \"$(fzf)\""
# f 键使用fzf搜索当前目录及其子目录中的所有目录
map f $lf -remote "send $id select \"$(find -type d 2>/dev/null | fzf)\""
# J 键从书签文件中选择一个目录并切换到该目录
map J $lf -remote "send $id cd $(sed -e 's/\s*#.*//' -e '/^$/d' -e 's/^\S*\s*//' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf)"
# . 键切换隐藏文件的显示状态
map . set hidden!
# 定义 fzf_search 命令
cmd fzf_search ${{
file=$(fzf)
if [ -n "$file" ]; then
lf -remote "send $id cd $(dirname "$file")"
lf -remote "send $id select $(basename "$file")"
fi
}}
map <C-o> &mimeopen "$f" & # 用系统默认程序打开
# map D trash-put "$fx" # 移动到回收站(需安装 trash-put
map <F5> cp -r "$fx" "$d" # 复制
map <F6> mv -n "$fx" "$d" # 移动
map <F7> mkdir # 新建目录(内置交互)
# map <F8> rm -rf "$fx" # 删除(慎用)
# Ctrl+s 打开fzf_search
map <c-s> :fzf_search
map j down
map k up
map l open
map h updir
# Ctrl+w 退出
map <c-w> :quit
# Ctrl+c 复制选中的文件或文件夹
map <c-c> :copy
# Ctrl+v 粘贴
map <c-v> :paste
# 定义建立目录命令
cmd mkdir %{{
IFS=" "
file="$*"
mkdir -p -- "$file"
lf -remote "send $id select \"$(printf '%s' "$file" | sed 's/\\/\\\\/g;s/"/\\"/g')\""
}}
# M 打开建立目录命令
map M push :mkdir<space>
# X 删除文件或目录
map X delete
# r 重命名
map r :rename
# E 从原名字末尾开始重命名
map E :rename; cmd-end
# H 从原名字开头开始重命名
map H :rename; cmd-home
# 启用目录缓存
set dircache
# 调整刷新频率
set period 5

View file

@ -1,9 +1,19 @@
#!/bin/sh
cmd pv %{{
case "$(file -Lb --mime-type "$1")" in
echo "Processing file: $1" > /dev/stderr # 调试信息:输出正在处理的文件
MIME_TYPE=$(file -Lb --mime-type "$1") # 获取文件的 MIME 类型
echo "MIME type: $MIME_TYPE" > /dev/stderr # 调试信息:输出 MIME 类型
case "$MIME_TYPE" in
text/*) bat --paging=never --color=always "$1" ;;
image/*) feh "$1";;
application/zip|application/x-tar) atool -l "$1" ;;
text/html) lynx -width="$4" -display_charset=utf-8 -dump "$1" ;;
text/troff) man ./ "$1" | col -b ;;
image/*) feh "$1" ;;
application/zip) zipinfo "$1" | less -i ;;
application/gzip) zless "$1" ;;
application/*tar|application/*zip*) tar ztvf "$1" | less -i ;;
audio/*) mpv "$1" ;;
application/pdf) zathura "$1" ;;
*) file -b "$1" ;;
esac
}}

76
.tmux.conf Normal file
View file

@ -0,0 +1,76 @@
# ---------- 基本 ----------
set -g default-terminal "screen-256color"
set -ga terminal-overrides ",*256col*:Tc"
set -gu terminal-features[2]
set -g history-limit 50000 # 滚屏行数
set -g base-index 1 # 窗口从 1 开始
setw -g pane-base-index 1
set -g renumber-windows on # 关窗口后重排号
set -g mouse on # OpenBSD 默认 tmux 已 ≥ 2.1
set -s escape-time 0 # 消除 vim 延迟
set -g display-panes-time 2000 # PREFIX-Q 提示 2s
# 启用状态栏
set -g status on
# ---------- 前缀键 ----------
set -g prefix C-z # 把 C-b 让给 bash
unbind C-b
bind C-z send-prefix
bind r source-file ~/.tmux.conf \; display "Reloaded!"
# ---------- 分屏 ----------
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
# ---------- 复制模式 ----------
setw -g mode-keys vi
bind-key -T copy-mode-vi v send -X begin-selection
bind-key -T copy-mode-vi y send -X copy-selection-and-cancel
# 若装了 xclip复制到 X11 剪贴板
bind-key y run "tmux save-buffer - | xclip -i -sel clip"
# ---------- 状态栏 ----------
set -g status-interval 1
set -g status-justify centre
# 清空状态栏左侧的内容
set -g status-left ''
# 左侧:会话名,亮绿字 / 深灰底
#set -g status-left "#[fg=#d31269,bg=#7a9f8d,bold] #S #[default]"
# 右侧:时间 & 日期,白字 / 深灰底
set -g status-right "#[fg=white,bg=black] %H:%M %d-%b #[default]"
# 设置状态栏右侧的最大长度
set -g status-right-length 50
# 清空窗口状态之间的分隔符
setw -g window-status-separator ''
# 设置当前窗口状态的样式
setw -g window-status-current-style 'fg=#eeeeee bg=#427b58'
# 设置普通窗口状态的样式
setw -g window-status-style 'fg=#ffffff bg=#111111'
# 设置触发警报时窗口状态的样式
setw -g window-status-bell-style 'fg=yellow bg=red bold'
# 设置状态栏的背景颜色
set -g status-style bg=#111111
# 整栏背景、默认文字色
set -g status-style bg=black,fg=white
# 当前窗口标签:亮黄字 + 粗体
setw -g window-status-current-style fg=#e3a135,bold
# 设置活动窗格的边框颜色
set -g pane-active-border-style 'fg=red'

41
.xsession Executable file
View file

@ -0,0 +1,41 @@
#!/bin/sh
export PATH="/usr/local/bin:$PATH"
export ENV="$HOME/.kshrc"
xrdb -merge "$HOME/.Xresources"
if [ -x /usr/local/bin/dbus-launch -a -z "${DBUS_SESSION_BUS_ADDRESS}" ]; then
eval `dbus-launch --sh-syntax --exit-with-x11`
export DBUS_SESSION_BUS_ADDRESS
fi
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export XMODIFIERS="@im=fcitx5"
export GTK_IM_MODULE="fcitx5"
export QT_IM_MODULE="fcitx5"
/usr/local/bin/fcitx5 &
feh --bg-scale /home/alex/backgrounds/27.jpg &
ulimit -Sc 0
picom -f &
polybar main &
tint2 &
xidle -timeout 600 -program "xclock -mode random" &
xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation" 1
xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation Button" 2
xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation Axes" 6 7 4 5
exec cwm
#exec twm
#exec /usr/local/bin/i3
#exec /usr/local/bin/wmaker