160 lines
4.1 KiB
Markdown
160 lines
4.1 KiB
Markdown
# Editors
|
|
|
|
Three editors are configured and deployed by the `shell` component: Neovim (primary), Micro (lightweight), and Yazi (terminal file manager).
|
|
|
|
---
|
|
|
|
## Neovim
|
|
|
|
Config lives in `nvim/`. Deployed to `~/.config/nvim/` during `shell` module install.
|
|
|
|
### Plugin Manager
|
|
|
|
[vim-plug](https://github.com/junegunn/vim-plug) is auto-installed on first launch. Run `:PlugInstall` after the first start to fetch all plugins.
|
|
|
|
### Plugins
|
|
|
|
#### Language & Completion
|
|
|
|
| Plugin | Purpose |
|
|
|--------|---------|
|
|
| `neoclide/coc.nvim` | LSP client, auto-completion, diagnostics |
|
|
| `rust-lang/rust.vim` | Rust filetype support |
|
|
| `nvim-telescope/telescope.nvim` | Fuzzy finder (files, grep, LSP symbols) |
|
|
|
|
#### UI
|
|
|
|
| Plugin | Purpose |
|
|
|--------|---------|
|
|
| `vim-airline/vim-airline` | Status bar |
|
|
| `vim-airline/vim-airline-themes` | Airline theme collection |
|
|
| `junegunn/goyo.vim` | Distraction-free writing mode |
|
|
| `voldikss/vim-floaterm` | Floating terminal windows |
|
|
| `norcalli/nvim-colorizer.lua` | Inline colour preview |
|
|
|
|
#### Navigation
|
|
|
|
| Plugin | Purpose |
|
|
|--------|---------|
|
|
| `preservim/nerdtree` | File tree sidebar |
|
|
| `junegunn/fzf` + `fzf.vim` | Fuzzy file/buffer search |
|
|
| `elihunter173/dirbuf.nvim` | Editable directory buffer |
|
|
|
|
#### Snippets
|
|
|
|
| Plugin | Purpose |
|
|
|--------|---------|
|
|
| `SirVer/ultisnips` | Snippet engine |
|
|
| `honza/vim-snippets` | Snippet collection |
|
|
|
|
#### Database
|
|
|
|
| Plugin | Purpose |
|
|
|--------|---------|
|
|
| `tpope/vim-dadbod` | Database query runner |
|
|
| `kristijanhusak/vim-dadbod-ui` | GUI for vim-dadbod |
|
|
|
|
#### Markdown
|
|
|
|
| Plugin | Purpose |
|
|
|--------|---------|
|
|
| `tadmccorkle/markdown.nvim` | Enhanced Markdown support |
|
|
| `ellisonleao/glow.nvim` | Markdown preview in terminal |
|
|
|
|
#### Theme
|
|
|
|
| Plugin | Purpose |
|
|
|--------|---------|
|
|
| `the_miro/cyberqueer.nvim` | CyberQueer colour scheme (local) |
|
|
|
|
### CoC LSP Settings
|
|
|
|
`nvim/coc-settings.json` configures language servers for:
|
|
- Python (pyright)
|
|
- Lua (lua-language-server)
|
|
- Rust (rust-analyzer via rust.vim)
|
|
|
|
### CyberQueer Airline Theme
|
|
|
|
`nvim/cyberqueer-airline.vim` — a custom vim-airline theme using the CyberQueer palette, providing hot-pink/violet segments in the status bar.
|
|
|
|
---
|
|
|
|
## Micro
|
|
|
|
A modern, keyboard-friendly terminal editor. Config in `micro/`. Deployed to `~/.config/micro/`.
|
|
|
|
### Settings (`settings.json`)
|
|
|
|
| Setting | Value | Effect |
|
|
|---------|-------|--------|
|
|
| `colorscheme` | `miro-darcula` | Custom dark colour scheme |
|
|
| Various | — | File-type-specific settings |
|
|
|
|
### Keybindings (`bindings.json`)
|
|
|
|
Custom keybindings extending Micro's defaults. See `micro/bindings.json` for the full list.
|
|
|
|
### Colour Schemes
|
|
|
|
`micro/colorschemes/` contains additional colour scheme definitions including the custom `miro-darcula` scheme.
|
|
|
|
### Plugins (`micro/plug/`)
|
|
|
|
| Plugin | Purpose |
|
|
|--------|---------|
|
|
| `filemanager` | Sidebar file browser |
|
|
| `mlsp` | Language Server Protocol integration |
|
|
|
|
---
|
|
|
|
## Yazi
|
|
|
|
A fast, feature-rich terminal file manager written in Rust.
|
|
Config in `yazi/`. Deployed to `~/.config/yazi/`.
|
|
|
|
### Configuration Files
|
|
|
|
| File | Purpose |
|
|
|------|---------|
|
|
| `yazi.toml` | Core settings (openers, file rules, display) |
|
|
| `theme.toml` | CyberQueer colour palette |
|
|
| `keymap.toml` | Keybindings (17 KB, extensively customised) |
|
|
|
|
### Theme
|
|
|
|
`yazi/theme.toml` maps the CyberQueer colours to Yazi's theme variables. It is a colour-substitution target in `apply-theme.sh`, so it updates automatically when you change the palette.
|
|
|
|
### File Openers
|
|
|
|
| File type | Opens with |
|
|
|-----------|-----------|
|
|
| `*.svg` | Inkscape |
|
|
| Text files | Neovim |
|
|
| Everything else | `xdg-open` (system default) |
|
|
|
|
### Display Options
|
|
|
|
- Hidden files visible by default
|
|
- Symlinks shown and followed
|
|
- Three-pane layout (parent, current, preview)
|
|
|
|
---
|
|
|
|
## Launching Editors
|
|
|
|
From the Hyprland desktop:
|
|
|
|
| Shortcut | Action |
|
|
|----------|--------|
|
|
| `Super + M` | Open Micro in Kitty |
|
|
| `Super + E` | Open Yazi in Kitty |
|
|
| `Super + T` then `nvim` | Neovim in terminal |
|
|
|
|
From the shell:
|
|
```bash
|
|
nvim file.rs # Neovim
|
|
micro config.yaml # Micro
|
|
yazi # Yazi file manager
|
|
```
|