Skip to content

πŸš€ An Neovim distribution for the stubborn martian hacker πŸ‘½

License

Notifications You must be signed in to change notification settings

LambdaOrder/fastvim

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

fastvim

GitHub Release GitHub License GitHub Repo stars PRs Welcome GitHub last commit lua Endpoint Badge

Welcome to Fastvim, the next-gen Neovim distro that’s fast, modern, and totally configurable. Built for lazy folks who don’t want to mess with endless configs, and for the Neovim Martian πŸ‘½ hackers who want total control over their setup. Whether you just want things to work out of the box or you love tweaking every little detail, Fastvim’s got your back.

Forget about spending hours setting up your Neovim environment. With Fastvim, you can get started right away, but if you're into customization, it's as flexible as you need it to be. This distro has everything you need for a smooth, efficient workflow, and if you're feeling adventurous, you can dive in and make it your own.

Get ready to experience a Neovim setup that just works, without all the fluff. Let’s get you set up, quick and easy!

dashboard

✨ Features

  • πŸ”₯ Turn your Neovim into a complete IDE.

  • πŸ’€ Customize and extend your configuration easily with lazy.nvim

  • πŸš€ Super fast

  • 🧹 Common settings for options, autocms and keymaps

  • πŸ“¦ Contains a variety of pre-configured and ready-to-use plugins

  • βš™οΈ LSP (Language Server Protocol):

    • πŸ–₯️ clangd.lua - clangd server configuration
    • 🌐 cssls.lua - CSSLS server configuration
    • πŸ–₯️ go.lua - Go server configuration
    • 🌐 html.lua - HTML server configuration
    • πŸ–₯️ java.lua - Java server configuration
    • πŸ–₯️ lua.lua - Lua server configuration
    • πŸ–₯️ ts_ls.lua - TypeScript server configuration
    • πŸ”§ utils.lua - LSP utilities

πŸ“¦ requirements

  • Neovim >= 0.9.0 (needs to be built with LuaJIT)
  • Git >= 2.19.0 (for partial clones support)
  • a Nerd Font(v3.0 or greater) (optional, but needed to display some icons)
  • a C compiler for nvim-treesitter. See here

πŸ’€ Installation

Warning

Please, before installing, remember to make a backup of your dotfiles.

linux or mac

git clone https://github.com/fastvim/fastvim.git ~/.config/nvim 
cd .config/nvim
nvim # Then it will download everything by itself

Windows

git clone https://github.com/fastvim/fastvim.git $HOME\AppData\Local\nvim 

πŸ’» Setup

For the distro to work as expected, we need to configure a few things, let's start by downloading the lsp(language server protocol) that you will use by installing with mason

To do this you type: MasonInstall LspName

Ex:

:MasonInstall clangd

Or if you are java dev

MasonInstall jdtls

Lsp (language server protocol) bring you countless benefits when coding, such as auto completions, syntactic error warnings in real time, and for this we have some plugins like nvim-cmp, for snippets we have luasnip that works exceptionally well and we have mini.pairs to autocomplete special characters like [], (), <>, etc...

code-completions

With the setup complete, you're now ready to dive into using your new Neovim IDE. Let's get started!

Quickstart

Now that everything is set up, let's jump into using FastVim. Follow these steps to start coding efficiently:

Open Neovim Launch Neovim by running:

nvim

Explore the Dashboard Upon starting Neovim, you'll see a customizable dashboard. Use it to quickly open recent files, create new projects, or access settings.

Install Plugins Ensure all required plugins are installed by running:

:Lazy

This will display the plugin manager. Press u to update all plugins.

Set Up LSP If you haven't installed your language server yet, use Mason:

:MasonInstall <LspName>

Replace with the appropriate server for your language (e.g., clangd for C/C++, jdtls for Java).

Start Coding Open a file or create a new one:

nvim myfile.<extension>

Replace with the file type you're working with (e.g., java, go, sql). Autocompletions, syntax highlighting, and LSP features will be ready to assist you.

update distro

To update the distro you have two options, :FastUpdate which will update the distro to the latest version, and :FastStable which will update the distro to the latest stable version (recommended)

Explore Keymaps This configuration comes with pre-mapped keys for common actions. Check the keybindings guide by pressing:

:help keymaps

You're now ready to enjoy a complete IDE experience with FastVim!

πŸ—ΊοΈ keymaps

To make your workflow much more fluid, we created countless keyboard shortcuts both to use the incredible plugins and to move around neovim in a faster and more efficient way.

shortcut action
\fu fast update
\fs fast stable distro update
ctrl-h focus_nvimtree
ctrl-n toggle_nvimtree
\ff find_files
\fo recent_files
\fw live_grep
\gt git_status
Tab cycle_buffer_next
S-Tab cycle_buffer_prev
ctrl-q close_buffer
/ (Normal) toggle_comment_line
/ (Visual) toggle_comment_block
\fm format_code
ctrl-\ open_themery
\t split_terminal_horizontal
\tv split_terminal_vertical
A-Up (Insert) move_line_up
A-Down (Insert) move_line_down
ctrl-Up (Insert) select_line_up
ctrl-Down (Insert) select_line_down
\nw neorg_switch_workspace
\nn neorg_open_index
\nt neorg_toggle_concealer
\nh neorg_toggle_todo
\nc neorg_toggle_concealer_visibility
ctrl+t open toggle terminal

Goals

Goal stats
Have own color scheme βœ…
cross platform support βœ…
add a markdown-mode ❌
add a neovim web wowser ❌
add a configuration compatibility between vim and neovim ❌
adding specialized config in gamedev ❌
adding full and more complete documentation ❌
adding full and advanced config for java ❌

πŸ”₯ Contributing

Pull requests are welcome.

That said, there's a bunch of ways you can contribute to this project, like by:

  • ⭐ Giving a star on this repository (this is very important and costs nothing)
  • πŸͺ²β€Reporting a bug
  • πŸ“„β€Improving this documentation
  • πŸš¨β€Sharing this project and recommending it to your friends
  • πŸ’» Submitting a pull request to the official repository

Contributors

This project exists thanks to all the people who contribute.

πŸ‘ Acknowledgements

This project thanks everyone who inspired it

πŸ‘¨β€πŸ« Team

β˜• Sponsor this project

"Buy Me A Coffee"

About

πŸš€ An Neovim distribution for the stubborn martian hacker πŸ‘½

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 96.7%
  • PowerShell 3.3%