Skip to content

BuggyChapri/SwiftVim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SwiftVim Configuration - A Beginner-Friendly Neovim Setup 🌟

Welcome to SwiftVim πŸ› οΈ, a Neovim configuration tailored for developers looking for an IDE-like experience with simplicity, speed, and powerful features. This README covers all the customizations, plugins, and settings implemented in this configuration.


image

Features ✨

  • Transparent background support. 🌈
  • IDE-like features with LSP (Language Server Protocol). πŸš€
  • Block cursor in insert mode. πŸ”²
  • Auto-save functionality. πŸ’Ύ
  • Code completion for various languages. 🧠
  • Syntax highlighting and themes. 🎨
  • File explorer and search. πŸ”
  • Tabs with bufferline. πŸ—‚οΈ
  • Remapped commands for improved productivity. ⌨️
  • Support for Svelte, Django, and Machine Learning workflows. πŸ€–

Installation Guide πŸ“₯

Prerequisites πŸ› οΈ

  1. Neovim: Install Neovim (version 0.8 or higher).

    sudo pacman -S neovim  # Arch Linux
  2. Node.js and npm: Required for LSP and other plugins.

    sudo pacman -S nodejs npm

Setup Instructions πŸ› οΈ

1. Clone the Configuration πŸ–₯️

Clone this repository into your Neovim configuration directory:

git clone https://github.com/your-repo/swiftvim ~/.config/nvim

2. Install Plugins πŸ“¦

Launch Neovim and run:

:PackerSync

This will install all plugins defined in the init.lua file.


Key Plugins Used πŸ”Œ

Plugin Manager

Core Plugins

  • nvim-lspconfig: LSP configuration for language support. 🌐
  • mason.nvim: Easily install and manage LSP servers. πŸ”§
  • cmp-nvim: Autocompletion framework. ✍️
  • telescope.nvim: Fuzzy finder for files and text. πŸ”
  • nvim-tree: File explorer. πŸ—‚οΈ
  • gruvbox.nvim: Gruvbox theme with transparent background support. 🎨
  • bufferline.nvim: Tab-like interface for buffers. 🏷️

Productivity Plugins


Customizations and Keybindings πŸ”‘

1. General Settings βš™οΈ

  • Tab Spaces: Set to 4 spaces.
  • Relative Line Numbers: Enabled for better navigation.
  • Transparent Background: Supported for a modern look. 🌈

2. Keybindings ⌨️

Action Keybinding
New File Ctrl + N
Save File Ctrl + S
Rename File F2
Horizontal Split Ctrl + H
Vertical Split Ctrl + Shift + V
Cut Ctrl + X
Paste Ctrl + V
Close Window Ctrl + Shift + X
Open File Explorer Ctrl + E
File Search Ctrl + P
Text Search Ctrl + F

3. Additional Commands πŸ“œ

Command Description
:Mason Open Mason for LSP management.
:Telescope find_files Search for files.
:Telescope live_grep Search for text in files.
:NvimTreeToggle Toggle file explorer.

Language-Specific Configurations 🌍

1. JavaScript and Typescript Support

  • Integrated LSP support with svelte-language-server. πŸ”₯

2. Django and Python Support 🐍

  • Installed pyright for Python LSP.

Themes 🎨

  • Default: Tokyo Night and Night Fox with transparent background. 🌈
  • Change themes by updating the colorscheme in the init.lua file.

Troubleshooting πŸ› οΈ

  1. File Explorer Not Opening: Ensure nvim-tree is installed and configured properly. Run :PackerSync if needed.

  2. Missing Language Servers: Use Mason to install required LSP servers:

    :Mason
  3. Keybindings Not Working: Ensure init.lua is properly sourced:

    :source %

Enjoy coding with SwiftVim! πŸŽ‰ If you encounter issues or have suggestions, feel free to contribute or raise an issue on GitHub. πŸš€

Releases

No releases published

Packages

No packages published

Languages