GithubHelp home page GithubHelp logo

feaxer / normalnvim Goto Github PK

View Code? Open in Web Editor NEW

This project forked from normalnvim/normalnvim

0.0 0.0 0.0 564 KB

A normal NeoVim config

Home Page: https://normalnvim.github.io/NormalNvim/

License: GNU General Public License v3.0

Lua 100.00%

normalnvim's Introduction

NormalNvim

*✨ ~ ⭐ - A normal NeoVim config - ⭐ ~ ✨*


Tokyo Night (Night) theme by default screenshot_2023-05-27_16-41-26_120206834

The space key shows all you can do screenshot_2023-06-14_11-41-03_398515538

Install

# Strongly recommended: 
# Fork the project, and clone the fork instead of this.
git clone --depth 1 [email protected]:Zeioth/NormalNVim.git ~/.config/nvim
nvim

System dependencies

ranger       # Necessary for Rnvimr.
pynvim       # Necessary for Rnvimr.
yarn         # Necessary for Markmap.

Distro features

  • Lazy: Plugins are loaded lazily, providing super fast performance.
  • 😎 Plugins are self-contained: Allowing you to easily delete what you don't want.
  • 🔋 Batteries included: Most plugins you will ever need are included and debugged by default. Get the best user experience out of the box and forget about nasty bugs in your Neovim config.
  • 🔒 Plugin version lock: You can choose "stable" or "nightly" update channels. Or if you prefer, use :NvimFreezePluginVersions to create your own stable versions!
  • 🔙 Rollbacks: You can easily recover from a nvim distro update using :NvimRollbackRestore
  • 🔥 Hot reload: Every time you change something in your config, the changes are reflected on nvim on real time without need to restart.
  • 📱 Phone friendly: Good usability even on smalll screens.
  • ⌨️ Alternative mappings: By default the distro uses qwerty, but colemak-dh can be found here.
  • ❤️ We don't treat you like you are stupid: Code comments guide you to easily customize everything. We will never hide or abstract stuff from you.

Philosophy and design decissions

You are expected to fork the project before cloning it. So you are the only one in control. It is also recommended to use neovim's appimage.

This is not a distro you are expected to update often from upstream. It is meant to be used as a base to create your own distro.

NormalNvim won't be the next /r/UnixPorn sensation. It is a normal nvim config you can trust 100% will never break unexpectedly while you are working. Nothing flashy. Nothing brightful. Just bread and butter.

Commands

Command Description
:healthcheck base Look for errors in NormalNvim.
:NvimFreezePluginVersions Creates lazy_versions.lua in your config directory, containing your current plugin versions. If you are using the stable updates channel, this file willl be used to decide what plugin versions will be installed, and even if you manually try to update your plugins using lazy package manager, the versions file will be respected. If you are using the nighty channel, the first time you open nvim, the versions from lazy_versions.lua will be installed, but it will be possible to download the latests versions by manually updating your plugins with lazy. Note that after running this command, you can manually modify lazy_versions.lua in case you only want to freeze some plugins.
:NvimReload Hot reloads nvim without leaving nvim. It can cause unexpected issues sometimes.
:NvimRollbackCreate Creates a recovery point. It is triggered automatically when running :NvimUpdateConfig.
:NvimRollbackRestore Uses git to bring your config to the state it had when :NvimRollbackCreate was called.
:NvimUpdateConfig Pulls the latest changes from the current git repository of your nvim config. Useful to keep your config fresh when you use it in more than one machine. If the updates channel is stable this command will pull from the latest available tag release in your github repository. Only tag releases starting by 'v', such v1.0.0 are recognized. It is also possible to define an specific stable version in 2-lazy.lua by setting the option nvim_config_stable_vesion. If the channel is nightly it will pull from the nightly branch. Note that uncommited local changes in your config will be lost after an update, so it's important you commit before updating your distro config.
:NvimUpdatePlugins Uses lazy to update the plugins.
:NvimVersion Prints the commit number of the current NormalNvim version.

For more info, read the wiki.

FAQ

Please before opening an issue, check the AstroVim manual and the AstroVim Community repos where you can find help about how to install and configure most plugins.

  • NormalNvim is not working. How can I know why?

    :healthcheck base

  • How can I disable the tabline? On the options file, search for showtabline and set it to 0. If instead you want to remove the functionality completely from nvim, then check the plugin heirline. Here is where we implement the tabline logic. Also check the ./lua/base/3-autocmds.lua and ./lua/base/utils/status.lua.

  • How can I disable the animations? You can delete the plugin mini.animate. In case you only want to disable some animations look into the plugin docs.

  • How can I use Ask chatgpt? On your operative system, set the next env var. You can get an API key from chatgpt's website.

CHATGPT_API_KEY="my_key_here"
  • What scenarios are not covered by this distro?
    • Kubernetes: We do not provide a kubernetes plugin. But we recommend using friendly-snippets, to quickly write code, and overseer.nvim to run kubernetes commands from inside nvim without having to wait for the server response.
    • e2e testing: We do not provide a e2e plugin. But we do provide the :TestNodejsE2e command you can customize on /lua/base/3-autocmds.lua along with all the other testing commands. You can also rename the commands to anything you want in case you don't use nodejs.

🌟 Support the project

If you want to help me, please star this repository to increase the visibility of the project.

Stargazers over time

Credits

Originally it took AstroVim as base. But implements this VIM config with some extras. Code has been simplified while retaining its core features. NormalNvim has also contributed to the code of many of the plugins included, in order to debug them and make them better.

Special thanks to LeoRed04 for designing the logo.

normalnvim's People

Contributors

zeioth avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.