Overview
Blink.cmp is configured inlua/plugins/completions.lua with:
- Super-tab keybindings for intuitive navigation
- Ghost text for inline suggestions
- Auto-brackets for functions and methods
- Database completion integration
- LazyDev integration for Neovim Lua API completions
Key features
Super-tab preset
Tab and Shift-Tab for navigation with smart fallback
Ghost text
Inline completion previews as you type
Auto-brackets
Automatic bracket insertion for functions
LSP integration
Completions from all attached LSP servers
Keybindings
Navigation
| Key | Action | Description |
|---|---|---|
<Tab> | Next item | Move to next completion (super-tab) |
<S-Tab> | Previous item | Move to previous completion |
<C-j> | Next item | Alternative: move to next |
<C-k> | Previous item | Alternative: move to previous |
<CR> | Accept | Accept selected completion |
The super-tab preset intelligently handles Tab for both completion navigation and snippet jumping.
Configuration
Keymap setup
lua/plugins/completions.lua
Completion menu
The completion menu uses a rounded border with custom column layout:lua/plugins/completions.lua
Ghost text
Ghost text shows completion previews inline:lua/plugins/completions.lua
Documentation window
Automatic documentation with syntax highlighting:lua/plugins/completions.lua
Completion sources
Multiple sources provide completions from different contexts:Default sources
lua/plugins/completions.lua
LazyDev
Provides completions for Neovim Lua API (vim.*, require(), etc.) with higher priority (score_offset = 100)
Database completions
Special configuration for SQL files:lua/plugins/completions.lua
When editing SQL files, completions come from vim-dadbod for table/column names from your connected databases.
Provider configuration
lua/plugins/completions.lua
Function signatures
Signature help appears automatically when typing function arguments:lua/plugins/completions.lua
Auto-brackets
Functions and methods automatically insert brackets:lua/plugins/completions.lua
print→print(|)(cursor inside brackets)require→require("|")
Command-line completion
Command-line completion is disabled in favor of mini.cmdline:lua/plugins/completions.lua
See the mini.nvim configuration for command-line completion with live previews.
Performance
Blink.cmp uses Rust-based fuzzy matching for speed:lua/plugins/completions.lua
Dependencies
lua/plugins/completions.lua
LazyDev
Provides Neovim Lua API completions for plugin development
Mini.nvim
Provides icons and additional utilities
Troubleshooting
Completions not appearing
Completions not appearing
- Check LSP is attached:
:LspInfo - Verify sources are loaded: Check for errors in
:messages - Try triggering manually with
<C-Space>if configured
Ghost text not showing
Ghost text not showing
Ghost text only appears when:
- A completion item is selected
- The menu is not open (or
show_with_menu = true)
Database completions missing
Database completions missing
- Ensure vim-dadbod and vim-dadbod-completion are installed
- Connect to a database using
:DBUI - Verify the buffer filetype is set to
sql,mysql, orplpgsql
Related plugins
Editing helpers
Autopairs and snippet navigation
LSP configuration
LSP server setup and configuration