From 54352d036cb2fd9c82522cd3f9ec12008510b32c Mon Sep 17 00:00:00 2001 From: emmett1 Date: Wed, 1 Apr 2026 00:35:04 +0800 Subject: renamed README.txt to README --- README | 210 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.txt | 210 ------------------------------------------------------------- 2 files changed, 210 insertions(+), 210 deletions(-) create mode 100644 README delete mode 100644 README.txt diff --git a/README b/README new file mode 100644 index 0000000..36d2baa --- /dev/null +++ b/README @@ -0,0 +1,210 @@ +sfm - Simple File Manager +========================== + + +DESCRIPTION +----------- +sfm is a lightweight, terminal-based file manager written entirely in +POSIX sh. It runs in your terminal with no external dependencies beyond +standard Unix tools (ls, awk, tput, stty, mv, cp, rm). Designed to be +fast, flicker-free, and keyboard-driven with a vim-inspired key layout. + + +REQUIREMENTS +------------ +- A POSIX-compatible shell (sh, dash, bash, etc.) +- Standard Unix tools: ls, awk, tput, stty, cp, mv, rm, mkdir, touch +- Optional: wl-copy / xclip / xsel / pbcopy (for clipboard support) +- Optional: mpv, vlc, feh, zathura, etc. (for smart file opening) +- Optional: readlink (for symlink display) +- Optional: file (for MIME type detection) + + +INSTALLATION +------------ +Using make (recommended): + + make install + +This installs sfm to /usr/local/bin by default. To change the prefix: + + make install PREFIX=/usr + +To uninstall: + + make uninstall + +Manual installation: + + cp sfm /usr/local/bin/sfm + chmod +x /usr/local/bin/sfm + + +USAGE +----- + sfm [path] + +If no path is given, sfm opens in the current directory. + +Examples: + sfm # open in current directory + sfm /mnt/data # open at a specific path + sfm ~ # open home directory + sfm .. # open parent directory + + +NAVIGATION +---------- + j / k or up/down arrows Move up / down + h or left arrow Go to parent directory + l or right arrow / enter Open file or enter directory + g Jump to top of list + G Jump to bottom of list + ~ Go to home directory + ` (backtick) Jump to previous directory + + +SEARCH & FILTER +--------------- + / Enter search mode (filters listing as you type) + esc Clear filter and exit search mode + enter Exit search mode but keep filter active + + +DISPLAY TOGGLES +--------------- + . Toggle hidden files (dotfiles) + T Toggle size/date detail column + P Toggle preview pane (right side) + s Cycle sort mode: name -> size -> date + i Show file info (permissions, size, date) in status bar + R Refresh current directory listing + + +PREVIEW PANE +------------ +Press P to toggle the preview pane on the right side of the screen. +The list pane takes the left half, preview takes the right half. + + Text files Shows file contents line by line + Directories Shows directory contents + Symlinks Shows link target + Binary files Shows file size + + +CUSTOM OPENER +------------- +sfm checks for a user-defined opener script at: + + ~/.config/sfm/opener + +If the file exists and is executable, sfm passes the selected file +path to it instead of using the built-in smart opener. Example: + + #!/bin/sh + case "$1" in + *.jpg|*.jpeg) imv "$1" ;; + *.mp4) mpv "$1" ;; + *.html|*.pdf) firefox "$1" ;; + *) echo "no program set for this file type" ;; + esac + +Make it executable: chmod +x ~/.config/sfm/opener + +If the opener script does not exist, sfm falls back to its built-in +smart opener automatically. + + +FILE OPERATIONS +--------------- + r Rename selected entry + m Make new directory + n New empty file + d Delete (single or selection) + u Move to trash (safe delete) + U Open trash directory + o Open with custom program + + +CLIPBOARD +--------- + y Yank / copy (works on multi-selection) + x Cut (works on multi-selection) + p Paste into current directory + c Copy full path of selected entry to system clipboard + + +MULTI-SELECT +------------ + space Toggle multi-select on current entry (cursor advances) + a Select all / deselect all + + +BOOKMARKS +--------- + b Bookmark current directory (press again to remove) + B Open bookmark picker (j/k navigate, enter jump) + +Bookmarks are saved to: ~/.config/sfm/bookmarks + + +SHELL & UTILITIES +----------------- + ! Drop into $SHELL in current directory (type "exit" to return) + + +HELP +---- + ? Show keyboard shortcuts overlay + + +QUIT +---- + q Quit sfm + + +STATUS BAR INDICATORS +--------------------- + [hidden] Hidden files are visible + [sort:size] Active sort mode (size or date; name is default) + [copy] A file is in the clipboard (copy mode) + [cut] A file is in the clipboard (cut mode) + [sel:N] N items are currently selected + [details] Size/date column is visible + + +SMART FILE OPENER +----------------- +When you open a file, sfm detects the file type by extension and +MIME type, then picks an appropriate program automatically: + + Text / code $EDITOR (or vi) + Images imv, feh, sxiv, eog, gimp + Video mpv, vlc, mplayer, totem + Audio mpv, vlc, cmus, mocp + PDF zathura, evince, okular, mupdf + Office docs libreoffice + Archives atool / bsdtar (lists contents in pager) + +Falls back to xdg-open, open (macOS), or $EDITOR if nothing matches. +Use 'o' to manually specify any program. + + +TRASH +----- +Files deleted with 'u' are moved to: + + ~/.local/share/sfm-trash/ + +Files are prefixed with a timestamp: YYYYMMDD_HHMMSS_filename +Use U to browse the trash directory. To restore a file, rename it +(press r) to remove the timestamp prefix, then cut (x) and paste (p) +it back to the desired location. + + +DATA FILES +---------- + ~/.config/sfm/bookmarks Saved bookmarks (one path per line) + ~/.config/sfm/opener Custom file opener script (optional) + ~/.local/share/sfm-trash/ Trashed files + diff --git a/README.txt b/README.txt deleted file mode 100644 index 36d2baa..0000000 --- a/README.txt +++ /dev/null @@ -1,210 +0,0 @@ -sfm - Simple File Manager -========================== - - -DESCRIPTION ------------ -sfm is a lightweight, terminal-based file manager written entirely in -POSIX sh. It runs in your terminal with no external dependencies beyond -standard Unix tools (ls, awk, tput, stty, mv, cp, rm). Designed to be -fast, flicker-free, and keyboard-driven with a vim-inspired key layout. - - -REQUIREMENTS ------------- -- A POSIX-compatible shell (sh, dash, bash, etc.) -- Standard Unix tools: ls, awk, tput, stty, cp, mv, rm, mkdir, touch -- Optional: wl-copy / xclip / xsel / pbcopy (for clipboard support) -- Optional: mpv, vlc, feh, zathura, etc. (for smart file opening) -- Optional: readlink (for symlink display) -- Optional: file (for MIME type detection) - - -INSTALLATION ------------- -Using make (recommended): - - make install - -This installs sfm to /usr/local/bin by default. To change the prefix: - - make install PREFIX=/usr - -To uninstall: - - make uninstall - -Manual installation: - - cp sfm /usr/local/bin/sfm - chmod +x /usr/local/bin/sfm - - -USAGE ------ - sfm [path] - -If no path is given, sfm opens in the current directory. - -Examples: - sfm # open in current directory - sfm /mnt/data # open at a specific path - sfm ~ # open home directory - sfm .. # open parent directory - - -NAVIGATION ----------- - j / k or up/down arrows Move up / down - h or left arrow Go to parent directory - l or right arrow / enter Open file or enter directory - g Jump to top of list - G Jump to bottom of list - ~ Go to home directory - ` (backtick) Jump to previous directory - - -SEARCH & FILTER ---------------- - / Enter search mode (filters listing as you type) - esc Clear filter and exit search mode - enter Exit search mode but keep filter active - - -DISPLAY TOGGLES ---------------- - . Toggle hidden files (dotfiles) - T Toggle size/date detail column - P Toggle preview pane (right side) - s Cycle sort mode: name -> size -> date - i Show file info (permissions, size, date) in status bar - R Refresh current directory listing - - -PREVIEW PANE ------------- -Press P to toggle the preview pane on the right side of the screen. -The list pane takes the left half, preview takes the right half. - - Text files Shows file contents line by line - Directories Shows directory contents - Symlinks Shows link target - Binary files Shows file size - - -CUSTOM OPENER -------------- -sfm checks for a user-defined opener script at: - - ~/.config/sfm/opener - -If the file exists and is executable, sfm passes the selected file -path to it instead of using the built-in smart opener. Example: - - #!/bin/sh - case "$1" in - *.jpg|*.jpeg) imv "$1" ;; - *.mp4) mpv "$1" ;; - *.html|*.pdf) firefox "$1" ;; - *) echo "no program set for this file type" ;; - esac - -Make it executable: chmod +x ~/.config/sfm/opener - -If the opener script does not exist, sfm falls back to its built-in -smart opener automatically. - - -FILE OPERATIONS ---------------- - r Rename selected entry - m Make new directory - n New empty file - d Delete (single or selection) - u Move to trash (safe delete) - U Open trash directory - o Open with custom program - - -CLIPBOARD ---------- - y Yank / copy (works on multi-selection) - x Cut (works on multi-selection) - p Paste into current directory - c Copy full path of selected entry to system clipboard - - -MULTI-SELECT ------------- - space Toggle multi-select on current entry (cursor advances) - a Select all / deselect all - - -BOOKMARKS ---------- - b Bookmark current directory (press again to remove) - B Open bookmark picker (j/k navigate, enter jump) - -Bookmarks are saved to: ~/.config/sfm/bookmarks - - -SHELL & UTILITIES ------------------ - ! Drop into $SHELL in current directory (type "exit" to return) - - -HELP ----- - ? Show keyboard shortcuts overlay - - -QUIT ----- - q Quit sfm - - -STATUS BAR INDICATORS ---------------------- - [hidden] Hidden files are visible - [sort:size] Active sort mode (size or date; name is default) - [copy] A file is in the clipboard (copy mode) - [cut] A file is in the clipboard (cut mode) - [sel:N] N items are currently selected - [details] Size/date column is visible - - -SMART FILE OPENER ------------------ -When you open a file, sfm detects the file type by extension and -MIME type, then picks an appropriate program automatically: - - Text / code $EDITOR (or vi) - Images imv, feh, sxiv, eog, gimp - Video mpv, vlc, mplayer, totem - Audio mpv, vlc, cmus, mocp - PDF zathura, evince, okular, mupdf - Office docs libreoffice - Archives atool / bsdtar (lists contents in pager) - -Falls back to xdg-open, open (macOS), or $EDITOR if nothing matches. -Use 'o' to manually specify any program. - - -TRASH ------ -Files deleted with 'u' are moved to: - - ~/.local/share/sfm-trash/ - -Files are prefixed with a timestamp: YYYYMMDD_HHMMSS_filename -Use U to browse the trash directory. To restore a file, rename it -(press r) to remove the timestamp prefix, then cut (x) and paste (p) -it back to the desired location. - - -DATA FILES ----------- - ~/.config/sfm/bookmarks Saved bookmarks (one path per line) - ~/.config/sfm/opener Custom file opener script (optional) - ~/.local/share/sfm-trash/ Trashed files - -- cgit v1.2.3