Skip to content
cebrusfsPublic

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

cebrusfs's dotfiles

Personal dotfiles for macOS and Linux (incl. corp gLinux), managed by dotbot + jj + mise.

Commands

# Fresh install (remote bootstrap)
bash <(curl -s https://raw.githubusercontent.com/cebrusfs/dotfiles/main/fetch)
p10k configure

# Pull updates + refresh submodules + update vim plugins
./update

# Re-create symlinks only (no package installs)
bin/dotbot -d . -c install-conf/dotbot.conf.yaml

# Install Homebrew packages (macOS) — pick the context
brew bundle install -v --no-lock --file="homebrew/Brewfile.home"   # personal
brew bundle install -v --no-lock --file="homebrew/Brewfile.work"   # work
brew bundle install -v --no-lock --file="homebrew/Brewfile.min"    # minimal/server
brew bundle install -v --no-lock --file="homebrew/Brewfile.ctf"    # CTF/security

Where things live

Path Purpose
config/<tool>/ Tool configs, symlinked into ~ (zsh, fish, vim, git, jj, tmux, ssh, mise, agent, …)
install-conf/dotbot.conf.yaml Source of truth for all symlink mappings
homebrew/Brewfile.* Brewfiles per context (home / work / min / ctf)
bin/ Helper scripts (bin/osx is macOS-only)
install, update Bootstrap and refresh entry points
docs/ Deep-dive notes (package routing, agent config, migrations)

Key Bindings

  • Terminator / iTerm2: not using window splitting (delegated to tmux).

Tmux

Ref: config/tmux/tmux.conf

  • Ctrl+A as tmux prefix.

Windows (tabs)

Key Default
New window c
Go last window a l
Go next window n
Go previous window p
list windows w
find window f
name the window ,
kill the window &

Panes (splits)

Key Default
Move between splits <arrow>
show pane numbers (and jump if press the number) q
vertical split s %
horizontal split v "
kill current pane k x

Vim / Neovim

Leader Key

  • <Space> is set as the leader key.

General & Navigation

Action Key Description
Quick save <Space>w Save current buffer (:w)
Quick reload <Space>e Reload current buffer (:e)
Move across wrapped lines <Up> / <Down> Move visually up/down even if lines wrap
Copy to clipboard (vim only) Y (Visual) Explicit copy via OSC52 over SSH/tmux
Jump to visible target <Space><Space> Start mini.jump2d label jump

File Explorer (NERDTree)

Action Key Description
Toggle directory <S-Tab> Open/close NERDTree

Tab Control

Action Key Description
New tab <C-t>n Create new tab
Previous tab <C-t><Left> Go to previous tab
Next tab <C-t><Right> Go to next tab

Split Control

Action Key Description
Vertical split :vsp Split vertically
Horizontal split :sp Split horizontally
Move between C-w <arrow> Move between splits

Autocompletion (Neovim nvim-cmp)

Neovim uses nvim-cmp for intelligent autocompletion with multiple sources:

Action Key Description
Trigger completion <C-Space> Show completion menu
Scroll up docs <C-b> Scroll documentation up
Scroll down docs <C-f> Scroll documentation down
Abort completion <C-e> Close completion menu
Confirm selection <CR> Accept selected completion item

Code Navigation (Neovim LSP Defaults)

Neovim provides these built-in LSP keybindings (no custom config needed):

Action Key Description
Code action gra Code action (Normal & Visual)
Go to implementation gri Go to implementation
Rename symbol grn Rename symbol
Find references grr Find all references
Go to type definition grt Go to type definition
Document symbol gO List document symbols
Show documentation K Show documentation in preview
Signature help <C-S> Show signature help (Insert)

Search and Navigation (fzf-lua)

Action Key Description
Find files <Space>fo Find files in project
Project grep <Space>r Search in project files
Project grep word <Space><Space>r Search current word in project
Search in buffer <Space>/ Fuzzy find in current buffer
Search in all buffers <Space>. Search in open buffers
Help tags <Space>fh Search help tags

Git Integration (vim-fugitive)

Action Key Description
Git status <Space>gs Show git status
Git diff <Space>gd Show git diff
Git blame <Space>gb Show git blame
Git mergetool <Space>gm Open git mergetool

Diagnostics (Neovim LSP Defaults)

Neovim with LSP provides these built-in diagnostic navigation keybindings:

Action Key Description
Previous diagnostic [d Jump to previous diagnostic
Next diagnostic ]d Jump to next diagnostic
First diagnostic [D Jump to first diagnostic
Last diagnostic ]D Jump to last diagnostic
Show diagnostic <C-w>d Show diagnostic in float

Comments

Action Key Description
Toggle comment line gcc Neovim built-in comment toggle for current line
Toggle comment selection/range gc Neovim built-in comment operator / Visual toggle
Toggle comment alias \ / <Bslash> Legacy alias mapped to gcc / gc

Alignment

Action Key Description
Align preview <Space>- mini.align with preview
Align <Space>_ mini.align without preview

Language-specific

Action Key Description
Run program <Space>p Run file (C/C++, Go, JS, Python, Ruby, Shell, Rust)
Check program <Space>c Check/compile (C/C++, Rust)

Known Issues / TODO

  • Neovim Mason can't install clangd on ARM — clangd does not publish prebuilt binaries for every ARM target. Install clangd from the OS package manager when Mason fails. (mason#1578, clangd#514)
  • Mouse scroll not smooth: fine in Vim, slow in other pagers — possibly a tmux interaction.

More

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages