If you use Neovim right, then you feel like a god

I dont understand this?
Is neovim a separate package, or an addon to vim?
Does it require vim to be present for it to function?

3 Likes

Neovim is a fork of vim, hence a separate package. Neovim has cleaned up code and some features which vim doesnā€™t have.

However, it can emulate vi.

2 Likes

Hi Xander and Neville,
NeoVim only changes its name to vim or vi, I believe, if you change the name of nvim in .bashrc to run under a different name.
NeoVim, as far as I know, has no dependency on vi/vim, they are completely separate programs, i.e., you can install NeoVim without having installed vi/vim.

Jorge

3 Likes

Cheers - installed itā€¦

Not sure what the fuss is - canā€™t tell the difference from regular vim (which through ~30 years of muscle memory I just call ā€œviā€)ā€¦

I donā€™t do much in vi - except maybe edit the odd shell script, sometimes things like shopping lists - I ā€œyankā€ lines, I delete lines, I paste lines, navigate with h, j, k, l, * or ā€œGā€ for end or ā€œG1ā€ for start of fileā€¦ sometimes global search and replace, but Iā€™d usually use sed for that insteadā€¦

Will probably just keep using vi / vimā€¦ Text editors donā€™t really make me feel anything - never mind godlike :smiley:

I do remember a time about ~15 years ago I HATED syntax highlighting - really! Just show me the text - all the same colour - and Iā€™m happy (and I never really spent time to figure out what the colours mean / meant - but I am colour blind - so probably pointless maybe)ā€¦ But now I canā€™t live without syntax highlighting :smiley: - I especially love how syntax highlight works in YAML and things like ~/.ssh/config ā€¦ but also bash - e.g. where a comment starts and ends, or square bracketsā€¦ or regular bracketsā€¦

** had to actually think about that - because I navigate using muscle-memory - had to check which actual keys they areā€¦

3 Likes

I am still like that. Hence prefer real vi ( bsd version) as available in Void linux.

4 Likes

I started with vi. I never really used it much, but I was exposed to it first. I am thankful for this working of Fate, but I did find it esoteric and a curiosity.

Later, I was introduced to vim at Uni. I used it much more than vi, but still far from adept usage. I mostly used and still use Vanilla vim, but I started extending it with plugins.

I heard mention and taletell of how awesome Neovim (nvim) is. So, I started using nvim. nvim is a constant learning curve. I often break it, well the Lua configurations and I find myself going back to Vanilla vim until I fix it.

But, I know there is exceptional power in a bespoke PDE rather than an IDE and the plugin ecosystem of nvim, clearly identifies it as the beloved of the developer community. I started out on my nvim journey with Vanilla nvim, as do most people.

I then progressed to two different incarnations of ā€˜beginnerā€™ or ā€˜training wheelsā€™ nvim configuration, namely: https://github.com/nvim-lua/kickstart.nvim I recommend Kickstart, I first came across it in a YouTube video. Like I said, I recommend Kickstart, but not actually to start with.

In hindsight, starting with a nvim distribution, which Kickstart is not, opens your eyes to possibility and the potentiality of realising a PDE developer ā€˜god-modeā€™ in a scriptable text editor with granularity of scriptability and plugin extensibility like that within the nvim ecosystem.

If you are going to persevere with nvim, and I recommend you do, appreciate that it is a labour of love and that learning a workable amount of Lua syntax is mandatory. Dotfyle is really the place to start and a site to use and refer to often: https://dotfyle.com/

My first nvim distribution was coded by a developer named Josean live on his YouTube channel, which I followed along with. Seeing the speed and efficiency in play of an adept hand using a PDE building a PDE, using built-in shortcuts and bespoke keybindings, really sealed nvim as the scriptable and extensible text editor of choice for me.

Josean has deleted this config from his GitHub repository. It was an excellent place to start with a nvim distribution, but the actual configuration file structure was labyrinthine, cumbersome and manifestly inefficient. But, I learnt much from Josean and this distro config, even though I kept breaking it because of the damn Lua.

As it was periodically broken, I often found myself just using Vanilla vim, instead of using nvim with the no configuration flag. I ended up nuking Joseanā€™s distro through frustration and annoyance after about nine (9) months.

I heard about Cursor. I tried to download and install an unofficial Cursor Android port, which was just a disaster. So, I nuked it. Then the Muses inspired me to see if there was a Cursor-like nvim plugin and there is one currently in Development.

So, I then went to Dotfyle, searched for the said plugin, then browsed through distributions containing this plugin. I settled upon the distro that had the most plugins (circa 249) including the cursor-like plugin.

It has been about eight (8) days with this new PDE. It is incredible and I am yet to even scratch the surface of its functionality. I will use this distro for a while, tweak it and adapt it, break it, fix it and learn from it. Then I will likely choose a new distro to learn from.

Then, after a while. I will go back to Kickstart and build my own distro from scratch with all I have learnt. I recommend others to learn vicariously from my journey and apply its take-aways to their context.

I have used more than 40 text editors and IDEs in my life. I know from this, Neovim is the best.

But, you must tinker with, and attend to, a Neovim distribution. It is like a Lamborghini or Maserati in that it requires constant adept fine-tuning to keep all the bells and whistles purring and whirring.

It takes ongoing learning, tweaking, attentiveness, iteration of processes, and considered mindfulness to get value out of Neovim.

In the beginning, you will end up coding more Lua than the languages of your development projects. Live by the sword. Die by the sword.

3 Likes

Hi @hummingbird108 ,
That applies to most non-trivial applications, particularly programming languages.
Sadly, I am really too old to want to undertake development needing such a sophisticated tool. I will be content with elementary vi and doing things by hand.
I can however appreciate how an editor with builtin Lua would be productive. It sounds like neovim is still in the phase of exploring optionsā€¦ it will settle down to a smaller less confusing set of work patterns.

Thank you for that very frank outline

Regards
Neville

2 Likes

Hi @hummingbird108,
Hereā€™s a YouTube video on how to configure Neovim from scratch, which I think is useful for understanding how all the NeovIm customization works:

Jorge

3 Likes

@nevj Coders and developers as a class, I find, are finnicky, particular and passionate about their chosen text editor(s) or IDE(s). I use the plurality, for though they play favourites, and generally have an elect, often a select few are used in tandem for different purposes, environments or usecases. Well, this I have observed. vi, clearly was the product of a profoundly innovative and practical coding genius. It is inarguable that vi is still ubiquitous. It is so light weight, no dross or bloat. I am yet to encounter a machine that does not have vi, vim or nvim pre-installed, installed or directly installable in the operating system distributionā€™s canonical package manager. This demonstrates much. I appreciate why you are beholden to vi.

@Tech_JA Thank you so much for the YouTube video. I will watch it and take note. But, I am far from ready to commence building my own bespoke PDE. But, the time will come and hopefully by then, nvim will rival Android Studio for Android development. Its current lack in this area is what I consider its only remaining and persistent flaw.

2 Likes

Youā€™ve obviously never used busybox in Debian (e.g. single user mode) - it does NOT have vi / vim - you have to use NANO - e.g. youā€™ve stuffed up your /etc/fstab somehow and the machine wonā€™t boot properly - to edit /etc/fstab - you have to boot debian (or Ubuntu) into rescue mode / single user mode, then mount ā€œ/ā€ somewhere - then use nano to edit the crapped file (e.g. /etc/fstab). This enfuriates me.

Also - I think it was ā€œsabayonā€ distro - about 10+ years ago - by default - only has ā€œnanoā€ - I quickly abandoned that distro!

However busybox on Red Hat based distros - DOES have vi! Busybox in Cygwin does have vi (and thus so does MobaXterm). But donā€™t get me started on busybox - e.g. the one in cygwin/MobaXterm has a different version of ā€œcatā€ that doesnā€™t print line numbers (e.g. cat -n ~/.ssh/config doesnā€™t work in MobaXterm - and it doesnā€™t seem possible to replace it with GNU cat).

It is re-assuring to know - that you can always rely on vi being available on Solaris though! But there have been times where ā€œviā€ didnā€™t work (or behaved bizarrely because you need to specify some TERM settings) - and I had to end up doing some printf and sed and stuff to create or fix up a fubarā€™d fileā€¦

1 Like

There was a time in BSD and SunOS when you got a line editor in single user mode. ed I think from memory.

1 Like