<metaname="description"content="Neovim is already super efficient and lightweight, but sometimes I need a barebones config for my servers and remote, miniature development environments.">
<metaproperty="og:description"content="Neovim is already super efficient and lightweight, but sometimes I need a barebones config for my servers and remote, miniature development environments."/>
<metaname="twitter:description"content="Neovim is already super efficient and lightweight, but sometimes I need a barebones config for my servers and remote, miniature development environments."/>
"description": "Neovim is already super efficient and lightweight, but sometimes I need a barebones config for my servers and remote, miniature development environments.",
"keywords": [
"neovim", "tools"
],
"articleBody": "If I’m being honest, when I started this quick project to reduce my Neovim plugin footprint size, I thought I was going to be able to get rid of way more plugins! Inspired by this Reddit post that setup a Neovim config using only echasnovski’s mini library, I was reminded that some of my remote server environments were still using Packer as their plugin manager, where my main machine has upgraded to Lazy. In addition, I have since expanded my main config with more applicable plugins and key maps and the Packer config was in a single neovim repo, as opposed to my more recently implemented dotfiles setup.\nRight now, I am using a whopping 77 plugins. That’s mostly because I’m not great at cleaning out old plugins I don’t use as much anymore. Since I am client facing, a lot of them are around making my Markdown notes easier to manage, and Python plugins to help with scripting and file management in the terminal. This poll shows 10-25 plugins being the most common amount.\nHow many plugins in your config. List your favorites!\nbyu/Bamseg inneovim Once I got my dotfiles to my server environment, I got to work and got rid of all the superfluous plugins like additional color schemes, todo-trouble, or others that I considered nice-to-have. After all, across all my VMs I’m mostly editing yaml, json, and python scripts and I’m not in there for a very long time. If I was a real pro, I would just use out-of-the-box Vim, but I really like the speed some key maps and plugins have given me.\nYou can check out my git branch here. If you decide to clone it, make sure you symlink .config folder from a ~/.dotfiles/ directory to ~/.config/. I’ve been using stow, but any symlink tool will work.\nIf you have a neovim config that you’d like to “minimize”, see some steps below. For any dotfile config - Neovim, tmux, zsh - I like to make these changes in a clean environment. I want to replicate as closely as possible what a fresh install and setup would be like. Here’s how I do it: Any curly brackets in the instructions below denote a word where you can insert whatever you’d like. But, most likely you want to use the curly brackets in the final string that you use.\nNavigate to the machine/vm/server that you want to work on. For me, this VM doesn’t have Neovim installed yet. Install Neovim Clone your main repository to either your .config or your .dotfiles directory. And run a few commands: git branch {branch-name} git checkout {branch-name} You’ll now be in your branch, but everything will look the same. Start removing directories or files you don’t need. Navigate to your plugins folder or init.lua that lists all your plugins and start hacking and slashing. Once you’ve saved all those files and you can open and close neovim without any plugin errors, you’re ready to go. Navigate back to the root git directory and run a few more commands: git add . git commit -m {Insert a detailed commit message of what you changed and updated.} git push {remote-name} {branch-name} And that’s it! Go check your Github/Gitlab and check your branches and commits. You should see everything there! Congrats. For that last command, you can always check what your remote repo’s push name is by running git remote -v. Most often, the name will be something like origin or main. If you saw my post on having multiple remote repos, you may something like “all”. Just make sure to check before pushing!\n",
Neovim is already super efficient and lightweight, but sometimes I need a barebones config for my servers and remote, miniature development environments.
<divclass="post-content"><p>If I’m being honest, when I started this quick project to reduce my Neovim plugin footprint size, I thought I was going to be
able to get rid of <em>way</em> more plugins! Inspired by <ahref="https://www.reddit.com/r/neovim/comments/179zawc/my_new_config_based_entirely_on_mininvim/">this Reddit
post</a> that setup a Neovim config
using only <ahref="https://github.com/echasnovski">echasnovski’s</a><ahref="https://github.com/echasnovski/mini.nvim">mini</a> library, I was
reminded that some of my remote server environments were still using Packer as their plugin manager, where my main machine
has upgraded to Lazy. In addition, I have since expanded my main config with more applicable plugins and key maps and the
Packer config was in a single neovim repo, as opposed to my more recently implemented <ahref="https://github.com/Normanras/dotfiles">dotfiles</a> setup.</p>
<p>Right now, I am using a whopping 77 plugins. That’s mostly because I’m not great at cleaning out old plugins I don’t use as
much anymore. Since I am client facing, a lot of them are around making my Markdown notes easier to manage, and Python plugins
to help with scripting and file management in the terminal. This poll shows 10-25 plugins being the most common amount.</p>
<blockquoteclass="reddit-embed-bq"style="height:240px"data-embed-height="240"><ahref="https://www.reddit.com/r/neovim/comments/14jdkbp/how_many_plugins_in_your_config_list_your/">How many plugins in your config. List your favorites!</a><br> by<ahref="https://www.reddit.com/user/Bamseg/">u/Bamseg</a> in<ahref="https://www.reddit.com/r/neovim/">neovim</a></blockquote><scriptasync=""src="https://embed.reddit.com/widgets.js"charset="UTF-8"></script>
<p></p>
<p>Once I got my dotfiles to my server environment, I got to work and got rid of all the superfluous plugins like additional
color schemes, todo-trouble, or others that I considered nice-to-have. After all, across all my VMs I’m mostly editing yaml,
json, and python scripts and I’m not in there for a very long time. If I was a real pro, I would just use out-of-the-box Vim,
but I really like the speed some key maps and plugins have given me.</p>
<p>You can check out my git branch <ahref="https://github.com/Normanras/dotfiles/tree/neovim-only-minimal">here</a>. If you decide to clone it, make sure you symlink <code>.config</code> folder from a <code>~/.dotfiles/</code> directory to <code>~/.config/</code>. I’ve been using
<ahref="https://www.gnu.org/software/stow/manual/stow.html">stow</a>, but any symlink tool will work.</p>
<p>If you have a neovim config that you’d like to “minimize”, see some steps below. For any dotfile config - Neovim, tmux, zsh -
I like to make these changes in a clean environment. I want to replicate as closely as possible what a fresh install and
<li>And that’s it! Go check your Github/Gitlab and check your branches and commits. You should see everything there! Congrats.</li>
</ol>
<p>For that last command, you can always check what your remote repo’s push name is by running <code>git remote -v</code>. Most often, the name will be something like <code>origin</code> or <code>main</code>. If you saw <ahref="../posts/multiple_git_remotes.html">my post on having multiple remote repos</a>, you may something like “all”. Just make sure to check before pushing!</p>
d="M512 62.554 L 512 449.446 C 512 483.97 483.97 512 449.446 512 L 62.554 512 C 28.03 512 0 483.97 0 449.446 L 0 62.554 C 0 28.03 28.029 0 62.554 0 L 449.446 0 C 483.971 0 512 28.03 512 62.554 Z M 269.951 190.75 L 182.567 75.216 L 56 75.216 L 207.216 272.95 L 63.9 436.783 L 125.266 436.783 L 235.9 310.383 L 332.567 436.783 L 456 436.783 L 298.367 228.367 L 432.367 75.216 L 371.033 75.216 Z M 127.633 110 L 164.101 110 L 383.481 400.065 L 349.5 400.065 Z" />
</svg>
</a>
</li>
<li>
<atarget="_blank"rel="noopener noreferrer"aria-label="share Mini Neovim on linkedin"