https://github.com/nihildigit/fresh-pretty-vim
https://github.com/nihildigit/fresh-pretty-vim
Last synced: 10 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/nihildigit/fresh-pretty-vim
- Owner: NihilDigit
- Created: 2026-06-12T09:26:56.000Z (14 days ago)
- Default Branch: main
- Last Pushed: 2026-06-12T10:40:59.000Z (14 days ago)
- Last Synced: 2026-06-12T11:19:52.568Z (14 days ago)
- Language: TypeScript
- Size: 88.9 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# fresh-pretty-vim
A compact Fresh setup for single-file editing: Vi mode, Markdown page view, hidden chrome, and a Nerd Font statusline.
## What it changes
- Starts Fresh in Vi mode.
- Adds arrow-key navigation to normal, operator-pending, visual, visual-line, and visual-block modes.
- Shows a compact left mode chip: ` NORMAL`, ` INSERT`, ` VISUAL`.
- Shows one right status segment: language, scroll progress, cursor position, and detected encoding.
- Hides the scroll progress bar at the top of the file.
- Opens `:` as a centered Vi command menu with common commands and filtering.
- Shows Vi command errors such as `:q` on modified buffers in a centered popup.
- Disables Fresh's cursor-jump trail animation and keeps plugin motion short.
- Hides the menu bar, tab bar, and vertical scrollbar.
- Enables Markdown page view and line wrap.
## Files
```text
plugins/fresh_pretty_vim.ts # Vi mode + statusline
plugins/fresh_pretty_vim.i18n.json # Vi command translations
types/fresh.d.ts # Fresh plugin API types for local checking
config/config.json # Fresh UI and plugin config
shell/fish/functions/fe.fish # Optional fish wrapper, creates missing local files
install.sh # Copy files into ~/.config/fresh
setup.ps1 # Copy files into $env:APPDATA\fresh on Windows
```
## Quick Setup
### Windows PowerShell
```powershell
git clone https://github.com/NihilDigit/fresh-pretty-vim.git
cd fresh-pretty-vim
powershell -NoProfile -ExecutionPolicy Bypass -File .\setup.ps1
```
The Windows setup script installs into `$env:APPDATA\fresh`, which is the config directory reported by `fresh --cmd config paths`. To install somewhere else, set `FRESH_CONFIG_DIR` before running it.
### macOS / Linux
```bash
git clone https://github.com/NihilDigit/fresh-pretty-vim.git
cd fresh-pretty-vim
./install.sh
```
Both installers back up existing target files with a timestamped `.bak` suffix, then copy the plugin and config into the Fresh config directory.
Restart Fresh after installing.
## Optional fish wrapper
```bash
cp shell/fish/functions/fe.fish ~/.config/fish/functions/fe.fish
```
`fe missing.md` creates `missing.md` first, then opens it with Fresh. Fresh location syntax also works, for example `fe notes.md:12`.
The wrapper only skips obvious non-file arguments such as flags, `-`, URLs, and scp-style remote paths. If you pass a plain positional argument that is not meant to be a file, it may still create a local file. Set `FE_CREATE_MISSING=0` to disable automatic creation for one shell session.
## Requirements
- Fresh 0.4.x
- A Nerd Font in the terminal
- `file` from the system toolchain, used to detect file encoding for the statusline
- `marksman`, if you want Markdown LSP support