Skip to content

Introduction

Shaobin Jiang edited this page Feb 15, 2024 · 1 revision

IceNvim is a beautiful, powerful and customizable neovim config.

Beautiful

IceNvim embraces the stlye of modern text editors and offers you quite an enjoyable coding experience. Take a look for yourself!

Powerful

  • IceNvim is well equipped for C# / Flutter / Lua / Python / Rust / Web development and markdown writing
  • IceNvim offers an enhanced editing experience, introducing such plugins as hop.nvim, undotree and vim-surround, as well as automatic IME switching for Chinese users when switching modes
  • Multiple useful tools out of the box, including a custom colorscheme picker, an icon viewer to check whether your font works well with the icons, and which-key integration

Customizable

You can customize literally anything with your own configuration file(s) without messing up the git repo.

Possible Limitations

I have been using IceNvim a lot on Windows and WSL; I use it a lot less on ArchLinux, openSUSE, Fedora, Ubuntu and other Linux distros; I have never used it on MacOS, FreeBSD and other systems. Therefore, a lot of cool features might not work with certain operating systems, such as automatic IME switching on macOS. You might also encounter bugs on those systems I have not tested IceNvim on much. Also, as I am a one-man's team currently, my ideas are inevitably limited, and there are just so many possibilities for neovim. Should you have trouble using IceNvim or wish for some features, please open an issue!

Behind the Curtain

I started using neovim in September 2022 for flutter development and had been making modifications to my neovim config ever since. I had a pretty handy configuration already after a year of heavy usage and numerous changes. But things did not feel right; I had this wonderful neovim setup but I had no one to talk to about it, as I major in psychology and many of my friends do not code much, let alone leaving their comfort zone and drop VsCode or Pycharm for neovim, and I so want to share my configuration with others. That is when the idea of formally making my configuration a distro for other people to use came to my mind.

But the config back then would not suffice. When I was using it for myself, I could just make changes freely and push them to git; if others are using it as well, however, customization is bound to be a problem, and the old version only supported limited customization. I could just leave it as it had been and ask anyone who did not wish to follow along to just go their own way, but I have always been against using vim for vim's sake: if you do not wish to diy, you might as well use vim extensions in VsCode and other editors. I believe freedom and customization is most important to vim and neovim users. This notion drove me to make great changes to the code structure of my configuration, and here it is now, with a system that fully supports customization.

I am aware that IceNvim cannot possibly be as powerful as other reputed distributions like NvChad or LazyVim, even though it is powerful enough for me, but I am confident that it offers much more freedom. Think of it as ArchLinux versus Fedora or Ubuntu: less out of the box so that you can let your imagination soar. Just like ice, just water and plain as anything else, but allowing people to work wonder with it into magnificant artifacts.

Clone this wiki locally