orhnk / vimacs

Feature-full Neovim Experience - With Emacs, JetBrains features OOTB
GNU General Public License v3.0
324 stars 8 forks source link
config editor editor-war emacs lua neovim neovim-config neovim-configuration nvchad peace text-editor text-editor-config text-editor-configuration

Vimacs

A Neovim Configuration. Inspired by JetBrains, Emacs, VS Code. Built on top of NvChad's UI.

Preface

This Neovim Distribution is heavily focused on performance, feature and beauty.

Vimacs is Beautiful

Vimacs uses a base configuration called NvChad which is beautiful out of the box.

Vimacs is Feature-rich

Vimacs comes with dozens of neovim plugins optimized for your daily use

Vimacs uses external programse to enhance it's functionality. (e.g) Vimacs has an optional mail client based on neomutt

The following image shows the which-key.nvim help for <leader> (aka space) key

[!NOTE] Green text means the top of the keymapping tree (e.g <leader>a includes everything related to AI, <leader>ai opens the Cody AI assistant in a vertical split) Red text means the direct cmd (e.g <leader>. opens the file manager)

Vimacs is Performant?

Because of the extensive ecosystem of Vimacs, Performance optimizations are crucial.

With the power of lazy loading (~%97.5), you only pay for what you use (lazy.nvim)

In addition to that, external programs use the system shell as an interface which doesn't reduce performance.

Showcase

image

image

image

More Themes (Click to expand!) > [!NOTE] > There are 50+ themes that come out of the box with NvChad. This is just a > showcase that'll give you some idea about the look. ## Dark ### Nord ![image](https://github.com/UTFeight/vimacs/assets/101834410/e1b59631-02b9-4bf5-8f27-d97ce0c5ace3) ### Rosepine ![image](https://github.com/UTFeight/vimacs/assets/101834410/f2f79475-2429-49a7-aa78-c793e30e7129) ### Onedark ![image](https://github.com/UTFeight/vimacs/assets/101834410/36279d57-2cfb-4ccd-870b-5ca1b612dc93) ### Catpuccin ![image](https://github.com/UTFeight/vimacs/assets/101834410/2a391b43-8322-4ef0-a56a-22a87250ae4f) ### Everforest ![image](https://github.com/UTFeight/vimacs/assets/101834410/2e8714aa-1e82-4f3a-8dbf-8cdd92e833f3) ## Light ### Ayu Light ![image](https://github.com/UTFeight/vimacs/assets/101834410/1c3be5cf-4380-4523-8824-1565d3ba7622)

Prerequisites

Vimacs requires Neovim Nightly for all the features to work properly. Although It's possible to use Vimacs with stable neovim, It's not recommended.

Also vimacs comes with a lot of dependencies. Follow the instructions on this page to install them.

[!NOTE] Some of the vimacs features will require additional setup. (e.g AI Assistant, Project Surfing etc.) And some of the advanced features will require additional installation (SEE for more info)

Feature List





Installation

[!TODO]: Make INSTALL Script more interactive

git clone https://github.com/NvChad/starter ~/.config/nvim 
git clone https://github.com/UTFeight/vimacs
cd vimacs && mv custom ~/.config/nvim/lua/custom
cd .. && rm -rf vimacs 
# Migration script for latest NvChad (custom folder not supported)
# Check https://nvchad.com/news/v2.5_release for details
git clone https://gist.github.com/048bed2e7570569e6b327b35d1715404.git upgradeNvChad2.5
cd upgradeNvChad2.5 && chmod +x migrate.sh && ./migrate.sh
cd .. && rm -rf upgradeNvChad2.5
  1. Neotest:
  1. Debugger:

    # This is for unexpected scenarios only.
    # In general mason should install these X-platform
    
    #                  config.fish                  #
    #               Vimacs Mason PATH               #
    export PATH="$HOME/.local/share/nvim/mason/bin"

    Vimacs ships with default python, C/C++ and Rust debuggers. If you have any other to configure please look into custom/plugins.lua "nvim-dap" and custom/configs/nvim-dap.lua

  2. Project Surfing:

[!Warning] This feature requires a base_dirs variable in custom/plugins.lua as in telescope-project.nvim

  1. Github Copilot

    • Github Copilot is a paid program that suggests code when you are typing. You need to authorize by using:
    :Copilot auth
  1. Null-ls

    yay -S codespell textlint markdownlint stylua ruff
  2. LeetCode:

  3. Email Client:

    • Gmail:

      [!IMPORTANT] You need Two factor authentication enabled!

    Then follow the instructions from this site.

  1. Markdown-maps:

    yarn is required for markmap.nvim plugin

    yay -S yarn # AUR

TroubleShooting

Tree-Sitter

There is a bug in ts config which causes the tree-sitter to not install bash, org, python parsers.

run the following command to fix it:

:TSInstall bash org python

In some markdown files bash scripts will give not found (@heredoc_blabla) like chunky errors which you need to install bash parser like above

Credits


Terms of usage

Discordo

Automated user accounts or "self-bots" are against Discord's Terms of Service. I am not responsible for any loss caused by using "self-bots" or Discordo.

(See Discordo)