Skip to main content

First Steps

Congratulations on installing FtVim! This guide will help you verify everything is working and get you started with the basics.

1. Verify Your Installation​

Run Health Checks​

Open Neovim and run:

:checkhealth ftvim

This checks what FtVim needs (git, ripgrep, a C compiler and, with the 42 extra, norminette, c_formatter_42, compiledb...) and tells you how to install what is missing. Look for any red errors - warnings (yellow) are usually fine.

For a full diagnosis of your setup, run :checkhealth. Key sections to check:

  • nvim - Core Neovim functionality
  • nvim-treesitter - Syntax highlighting
  • mason - LSP/tool installer

Check Plugin Status​

:Lazy

This opens the lazy.nvim plugin manager. All plugins should show as installed (green checkmarks).

Press S to sync and update all plugins if needed.

Check Mason Status​

:Mason

This shows installed language servers and tools. You should see at least:

  • lua_ls (Lua language server)
  • clangd (C/C++ language server)
  • pyright (Python language server)
  • stylua (Lua formatter)
  • shfmt (Shell formatter)

2. Install Language Servers for Your Languages​

FtVim includes LSP servers for C/C++, Python, and Lua by default. For other languages:

  1. Open Mason: <leader>cm or :Mason
  2. Search for your language (press /)
  3. Press i to install

Common Servers by Language​

LanguageServerInstall Command
JavaScript/TypeScriptts_ls:MasonInstall typescript-language-server (or enable the Web extra)
Rustrust_analyzer:MasonInstall rust-analyzer
Gogopls:MasonInstall gopls
Javajdtls:MasonInstall jdtls
HTML/CSShtml, cssls:MasonInstall html-lsp css-lsp

After installing, add the server to your config to ensure it's set up:

-- ~/.config/nvim/lua/plugins/lsp.lua
return {
{
"neovim/nvim-lspconfig",
opts = {
servers = {
ts_ls = {}, -- Enable TypeScript
rust_analyzer = {}, -- Enable Rust
},
},
},
}

3. Learn Essential Keymaps​

FtVim uses <Space> as the leader key. Press <Space> and wait to see all available options via which-key.

KeymapDescription
<leader>ffFind files
<leader>fsSearch text in the project (grep)
<leader>fbFind buffers
<leader>frRecent files
<leader>eFile explorer (Neo-tree)

LSP (Code Intelligence)​

KeymapDescription
gdGo to definition
grFind references
KHover documentation
<leader>caCode actions
<leader>crRename symbol
<leader>cfFormat code

Windows & Buffers​

KeymapDescription
<leader>bdDelete buffer
<C-h/j/k/l>Navigate between windows
<leader>wshHorizontal split
<leader>wsvVertical split

Git​

KeymapDescription
<leader>goGit status
<leader>gCGit history of the current file
<leader>ghbGit blame (line)

4. Try the Basic Workflow​

Open a Project​

cd ~/your-project
nvim

Or open a specific file:

nvim ~/your-project/main.py
  1. Press <leader>ff to find files
  2. Type part of the filename
  3. Press Enter to open

Edit Code​

  1. Navigate to a function
  2. Press K to see documentation
  3. Press gd to go to definition
  4. Press <C-o> to go back

Format and Save​

  1. Make some changes
  2. Press <leader>cf to format
  3. Press <C-s> or :w to save

5. Make Your First Customization​

Create a custom configuration file:

mkdir -p ~/.config/nvim/lua/plugins
nvim ~/.config/nvim/lua/plugins/custom.lua

Add a simple customization:

-- ~/.config/nvim/lua/plugins/custom.lua
return {
-- Example: Change colorscheme
{
"folke/tokyonight.nvim",
opts = {
style = "night", -- night, storm, day, moon
},
},
}

Save and restart Neovim to see changes.

6. Explore Which-Key​

Press <leader> (Space) and wait a moment. Which-key will show all available commands:

  • f - Find/File operations
  • g - Git operations
  • b - Buffer operations
  • c - Code operations
  • x - Diagnostics
  • t - Terminals
  • u - UI toggles
  • F - FtVim (extras, health check and, with the 42 extra, the 42 tools)

Navigate through the menus to discover features!

7. Common Tasks​

Open Terminal​

Press <C-\> (Ctrl + backslash) to toggle the terminal.

Toggle File Explorer​

Press <leader>e to toggle Neo-tree sidebar.

Search Across Project​

Press <leader>fs to search for text across all files.

Enable Extras​

Run :FtVimExtras (or <leader>Fx) to enable the 42 tools, Copilot and more.

Toggle Diagnostics​

Press <leader>xd to toggle error/warning display.

What's Next?​

Now that you have the basics:

  1. Keymaps - Complete keymap reference
  2. Plugins - Explore included plugins
  3. LSP - Configure language servers
  4. Tips and Tricks - Level up your Vim skills

Getting Help​

  • :help <topic> - Built-in Neovim help
  • :Lazy - Plugin manager
  • :Mason - LSP/tool installer
  • :checkhealth - Diagnose issues
  • <leader> - Which-key menu