Troubleshooting
Solutions to common problems with FtVim.
Quick Diagnostics
Before diving into specific issues, run these commands:
:checkhealth " Overall health check
:Lazy " Plugin status
:Mason " LSP/tool status
:LspInfo " Active LSP servers
Icons Not Displaying
Symptoms: Squares, question marks, or missing icons in the UI.
Solution: Install a Nerd Font and configure your terminal to use it.
Step 1: Install a Nerd Font
Download from nerdfonts.com:
- JetBrainsMono Nerd Font (recommended)
- FiraCode Nerd Font
- Hack Nerd Font
On Linux:
# Example for JetBrainsMono
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.2/JetBrainsMono.zip
unzip JetBrainsMono.zip -d ~/.local/share/fonts/
fc-cache -fv
On macOS:
brew tap homebrew/cask-fonts
brew install font-jetbrains-mono-nerd-font
Step 2: Configure Your Terminal
Set your terminal's font to the Nerd Font you installed:
- Alacritty: Edit
~/.config/alacritty/alacritty.yml - Kitty: Edit
~/.config/kitty/kitty.conf - iTerm2: Preferences → Profiles → Text → Font
- Windows Terminal: Settings → Profiles → Appearance → Font face
LSP Not Working
Check LSP Status
:LspInfo
This shows which servers are attached to the current buffer.
Server Not Attached
Causes:
- Server not installed
- File not recognized
- Server failed to start
Solutions:
-
Install the server:
:MasonSearch for and install the appropriate server.
-
Check filetype:
:set ft?Ensure the filetype is correct.
-
Check logs:
:LspLogLook for error messages.
Server Installed But Not Starting
-
Verify binary exists:
which clangd # or your server -
Check PATH in Neovim:
:echo $PATH -
Restart the server:
:LspRestart
No Completions Appearing
- Ensure LSP is attached:
:LspInfo - Check blink.cmp is loaded:
:Lazy(look for blink.cmp) - Try triggering manually:
Ctrl+Spacein insert mode - Check sources:
:lua print(vim.inspect(require('blink.cmp').get_sources()))
Treesitter Issues
Highlighting Wrong or Missing
-
Check parser is installed:
:TSInstallInfo -
Reinstall parser:
:TSInstall <language> -
Update parsers:
:TSUpdate
Parser Installation Fails
Symptoms: Error during :TSInstall
Causes:
- Missing C compiler
- Network issues
Solutions:
-
Install a C compiler:
- Linux:
sudo apt install build-essentialorsudo dnf install gcc - macOS:
xcode-select --install - Windows: Install Visual Studio Build Tools or MinGW
- Linux:
-
Check network: Ensure you can reach GitHub
Plugins Not Loading
Check Plugin Status
:Lazy
Look for:
- Red = error
- Yellow = warning
- Green = loaded
Clear Cache and Reinstall
:Lazy clean
:Lazy install
:Lazy sync
Or manually:
rm -rf ~/.local/share/nvim/lazy
rm -rf ~/.cache/nvim
nvim # Plugins will reinstall
Plugin Errors on Startup
- Check the error message for the plugin name
- Update the plugin:
:Lazy update <plugin-name> - Check plugin's GitHub issues for known problems
Performance Issues
Slow Startup
-
Profile startup:
nvim --startuptime startup.log
cat startup.log -
Check for slow plugins:
:Lazy profile -
Common fixes:
- Update all plugins:
:Lazy update - Reduce
ensure_installedparsers/servers
- Update all plugins:
Slow Editing Large Files
- Disable Treesitter for large files (see Treesitter docs)
- Disable LSP for specific files:
:LspStop
Slow Completion
- Reduce completion sources in blink.cmp config
- Increase debounce time for completion
- Use a faster LSP (e.g., rust-analyzer can be slow on large projects)
Colors/Theme Issues
Colors Look Wrong
-
Ensure true color support:
:set termguicolors?Should show
termguicolors. -
Check terminal support:
echo $TERMShould be
xterm-256coloror similar. -
For tmux users, add to
~/.tmux.conf:set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",xterm-256color:RGB"
Theme Not Applied
-
Check colorscheme is installed:
:Lazy -
Manually set colorscheme:
:colorscheme tokyonight
Search Issues (ripgrep)
Grep/Search Not Working
-
Check ripgrep is installed:
which rg -
Install ripgrep:
- Linux:
sudo apt install ripgreporsudo dnf install ripgrep - macOS:
brew install ripgrep - Windows:
choco install ripgrep
- Linux:
-
Verify in Neovim:
:echo executable('rg')Should return
1.
Keymaps Not Working
Check if Keymap Exists
:verbose map <leader>ff
Shows where the keymap is defined.
Keymap Conflicts
:map
Lists all mappings. Look for duplicates.
Leader Key Issues
-
Check leader is set:
:echo mapleaderShould show a space.
-
Ensure leader is set before plugins load (FtVim handles this)
Terminal Issues
Terminal Not Opening
-
Check terminal keymap:
:map <C-\> -
Try command:
:terminal
Terminal Colors Wrong
Add to your shell config (~/.bashrc, ~/.zshrc):
export TERM=xterm-256color
Clipboard Issues
Cannot Paste from System Clipboard
-
Check clipboard support:
:echo has('clipboard')Should return
1. -
Install clipboard provider:
- Linux:
sudo apt install xcliporxsel - macOS: Should work by default
- WSL: Install win32yank
- Linux:
-
Use clipboard register:
- Paste:
"+p - Copy:
"+y
- Paste:
Mason Issues
Tools Not Installing
-
Check Mason log:
:MasonLog -
Verify network access to GitHub and registries
-
Update Mason registry:
:MasonUpdate
Tool Not Found After Install
- Restart Neovim after installation
- Check Mason bin is in PATH:
:echo stdpath('data') .. '/mason/bin'
Specific Error Messages
"E5108: Error executing lua"
Usually a syntax error in your config. Check:
- The line number in the error
- Recent config changes
- Run
:checkhealthfor more info
"No matching language servers"
The LSP server for your file's language isn't configured or installed:
:LspInfoto see status:Masonto install server- Add server to your config
"Pattern not found"
Your search pattern isn't in the file. Check:
- Case sensitivity (use
\cfor case-insensitive) - Regex escaping (escape special chars with
\)
Getting More Help
Built-in Help
:help <topic>
Check Health
:checkhealth
View Messages
:messages
Shows recent Neovim messages including errors.
Verbose Mode
Start Neovim with verbose logging:
nvim -V9logfile.log
Report a Bug
If you've found a bug in FtVim:
- Check existing issues
- Create a minimal reproduction
- Include:
- Neovim version (
:version) - FtVim version
- Steps to reproduce
- Expected vs actual behavior
- Error messages
- Neovim version (
Reset FtVim
If all else fails, reset to a clean state:
# Backup your config first!
cp -r ~/.config/nvim ~/.config/nvim.bak
# Remove FtVim data
rm -rf ~/.local/share/nvim
rm -rf ~/.cache/nvim
rm -rf ~/.local/state/nvim
# Reinstall
nvim
This reinstalls all plugins and resets caches while preserving your config.