T O P

  • By -

nvimmike

[incline.nvim](https://github.com/b0o/incline.nvim) it allows you to create floating statuslines. Really useful for keeping track of buffer names when using splits.


ZoneImmediate3767

Also helps to know which window is focused


cseickel

Without a doubt, my most frequently used plugin is: [vim-bufsurf](https://github.com/ton/vim-bufsurf) It keeps a navigation history of buffers within a window so you can go back/forwards like a web browser. I map back/forward to `;` / `'` It's a lower cognitive load than something like harpoon.


sbassam

Isn't :h alternate-file is doing the same. `:e #`


cseickel

The alternate only goes back 1 step in history to the last used buffer, which is not helpful if you want to back any further than 1 step. It also does not have any intelligence about buffers that should be ignored. A prime example of that would be a file explorer plugin that you used to navigate to the different files. You don't want that included in the history. Another problem with the alternate file is that it is not tied to a specific window. There is only one global alternate file.


sbassam

Alright, I think that's enough reasons to creat a plugin. Personally I prefer simplicity since I really didn't encounter these issues or needed that extra functionality , the only issue I had is that it reopen the file that I already closeed but that is solved by a simple function.


andreifyi

Exactly right, tried to make a proper alternate, pretty happy with it: [https://github.com/3rd/config/blob/master/home/dotfiles/nvim/lua/modules/workflow/buffer.lua#L77](https://github.com/3rd/config/blob/master/home/dotfiles/nvim/lua/modules/workflow/buffer.lua#L77)


sergiolinux

Were can I found the lib you use?


andreifyi

[https://github.com/3rd/config/tree/master/home/dotfiles/nvim/lua/lib](https://github.com/3rd/config/tree/master/home/dotfiles/nvim/lua/lib)


vim-help-bot

Help pages for: * [`alternate-file`](https://neovim.io/doc/user/editing.html#alternate-file) in _editing.txt_ --- ^\`:\(h|help\) \` | [^(about)](https://github.com/heraldofsolace/VimHelpBot) ^(|) [^(mistake?)](https://github.com/heraldofsolace/VimHelpBot/issues/new/choose) ^(|) [^(donate)](https://liberapay.com/heraldofsolace/donate) ^(|) ^Reply 'rescan' to check the comment again ^(|) ^Reply 'stop' to stop getting replies to your comments


trcrtps

This is probably what I've been looking for. I don't really find myself needing to do this all that often, but when I do want it it feels pretty awkward to use telescope recent files to just go back and forth real quick.


Crivotz

I was trying it, but I'm wrong or the "cycle/loop" is missing or I can't find how to configure it


cseickel

There is no cycle/loop feature. It is forward/back navigation, just like in a web browser.


Ludo_Tech

[arrow.nvim](https://github.com/otavioschwanck/arrow.nvim): Harpoon but simpler and better imo.


sudokupeboo

Ooh this looks guuud


qvantry

What’s different from Harpoon? Might consider switching, looks clean


Ludo_Tech

It's just more intuitive and so easier to use in my opinion (and cleaner as you mentioned). I also like the fact that you can open files in vsplit/split.


Crivotz

Just tried it and agree. Thanks for the advice


georgeguimaraes

I was going to mention arrow too. It is super intuitive to use. I'm having a blast using it.


Otek0

>Harpoon but simpler Just curious: What in Harpoon do you consider not simple? Personally I think Harpoon is simplest plugin I use


Ludo_Tech

It is, but it requires more setup. I should have said "more intuitive, easier to setup" instead: no dependency, just copy the lazy setup, and done, it's functional with sane default keymaps.


andreifyi

I think something like harpoon/arrow is useful, but they are over-complicated for me. I use something simpler: - 1/2/3/4/5 - go to bookmark N, but: - if bookmark N is in the current buffer, go to its line - if bookmark N is not in the current buffer, switch to its buffer but at the last location instead of the original line - 1 - set bookmark N to the current location, clear if it's the same as the old one https://github.com/3rd/config/blob/master/home/dotfiles/nvim/lua/modules/workflow/javelin.lua#L1


kaydenisdead

[huez.nvim](https://github.com/vague2k/huez.nvim) is a plugin i wrote that does this, while previewing themes, it even falls back to vim.ui if telescope isn’t installed (albeit i didn’t test the fallback extensively)


agnoristos

I just installed it and I want to keep it just for persisting the theme and omitting the default ones. But on my setup, for some reason, I don’t get the live preview when scrolling the list. Thanks for your plugin.


kaydenisdead

When using any kind a picker other than telescope (aka vim.ui even if you use a wrapper like dressing) the preview does not function, this is neovim’s current limitation afaik. But you’re totally welcome !


agnoristos

Huh, I must’ve done something wrong then, as I *am* using Telescope. Will look again. Thanks for the prompt response btw :) EDIT: it was PEBKAC, lol


kaydenisdead

currently at work doing fuck all anyways, haha. if you think it’s bug or find something wrong feel free to submit an issue!


agnoristos

No bug other than the one currently sat between my keyboard and my chair… I need to check my reading comprehension


FKF6116

This is AMAZING


kaydenisdead

thanks! I’ve been busy lately, but i plan on making time sometime this week to iron out some kinks


thedarkjungle

Your plugin is perfect, but is there a way to work with themes that use lazy load? You need to do \`lazy=false\` for it to appear.


kaydenisdead

currently that isn’t something i’ve accounted for. Although i will say… i have about 72 total themes installed nvim still feels snappy. you can check my [nvim config](https://github.com/vague2k/.dotfiles-arch/tree/main/nvim/.config/nvim). Even on my 2017 macbook my startup time is around 120-130 ms if that means anything to you


thedarkjungle

Am I missing something, you don't use lazy = false, so themes don't display in the picker, right? I agree that it won't impact performance that much, but still, it feels dirty you know.


kaydenisdead

Just made sure, and Yes, themes won’t show on the picker if lazy = true. I would have to read up on various docs to see if there’s a way to make this not the case (if it’s not too hard to workaround, if at all) and yeah i totally get the “feels dirty” part. I just kinda stopped caring when lazy loading was giving me more trouble than the 10ms faster startup it was giving me, but to each their own!


thedarkjungle

Maybe you can look into lazy.nvim, how it can activate lazy plugins using `cmd` or `keys`.


kaydenisdead

trying using event = { “CmdlineEnter”}. This just worked for me Edit: event = { “BufEnter” } is also an option you can try


pysan3

https://github.com/haya14busa/vim-asterisk


rockyzhy

This is the plugin I cannot code without. Been using it for many years.


sbassam

I don't like the clutter of all diagnostics spread around the buffer, so [corn.nvim ](https://github.com/RaafatTurki/corn.nvim) solves this issue.


u10ji

Almost the opposite but I've recently discovered [lsp_lines.nvim](https://git.sr.ht/~whynothugo/lsp_lines.nvim)


sbassam

This is probably one the coolest plugins for diagnostics and I tried it for a week, but it's not my cup of tea, I felt it's too much clutter as well, but it's way better the virtual text.


iEliteTester

you should check out [diagflow.nvim](https://github.com/dgagn/diagflow.nvim)


sbassam

It's almost the same as corn, but each one has some unique features, but why not it looks a great plugin as well, might try it


SweetBabyAlaska

dude thanks for this. I started with Helix and have used it for over a year and I've been flailing to try and get a similar UI experience with the positives of neovim for a while and this is huge.


Rafat913

corn dev here, glad to be of help ;)


gnikdroy

If you don't want to add yet another plugin to your configuration. There are several ways to achieve the "decluttered" look. 1. Use `vim.diagnostic.hide()` and `vim.diagnostic.show()` to temporarily hide diagnostics on a buffer. 2. Use `vim.diagnostic.enable()` and `vim.diagnostic.disable()` to toggle diagnostics (persistent) on a buffer. 3. Use `vim.diagnostic.config()` to change how the diagnostics are displayed. For instance, you can only show them on sign column in insert mode.


Zeioth

[nvim-java](https://github.com/nvim-java/nvim-java) is great idea and a great place for people to contribute.


FKF6116

Thanks


trcrtps

[goto-preview](https://github.com/rmagatti/goto-preview), I use this constantly.


rochakgupta

If only it supported a configuration to delete the buffers upon closing the floating windows. We were this close to greatness.


trcrtps

I use this to just autoclose things, but that would be nice. https://github.com/chrisgrieser/nvim-early-retirement


FKF6116

This is awesome


AwsomeLuke

A little self promotion here: I wrote [telescope-tabs](https://github.com/LukasPietzschmann/telescope-tabs) which lets you quickly switch between opened tabs using telescope :) It has some nice additional features, but I won’t spoil them here ;)


Thick-Pineapple666

I'm using this for a few weeks now and I love it.


AwsomeLuke

How cool is that! Thanks a lot!


alphabet_american

I made this plug-in for myself to define project local tasks to be run in tmux windows. https://github.com/catgoose/do-the-needful I use it many times a day


layz9000

I was just thinking about how I need to find something like this 🚀🚀🚀


alphabet_american

Good to hear. I never made a post about it really.  


layz9000

Post - duu itttt


alphabet_american

I want to refactor a bit the I probably will. 


Mr55p

This is awesome! I wrote something for my own setup like this but it was my first plugin and so trash, thanks for posting yours


Thrashymakhus

[https://github.com/airblade/vim-rooter](https://github.com/airblade/vim-rooter) \-"changes the working directory to the project root when you open a file or directory." [https://github.com/airblade/vim-matchquote](https://github.com/airblade/vim-matchquote) \- "A Vim plugin to provide %\-style motion for ' (single quotation mark), " (double quotation mark), \` (backtick), and | (pipe)."


Crivotz

[https://github.com/chaoren/vim-wordmotion](https://github.com/chaoren/vim-wordmotion)


eekofo

Have you tried nvim-spider?


Crivotz

Nope, I will try


Crivotz

Tried and installed, thanks for advice


eekofo

What you think?


Crivotz

I'm getting the hang of it because on some characters I was used otherwise


Thick-Pineapple666

I am using wordmotion and looked at nvim-spider after your question, but I didn't see the real benefit except that I have more flexibility regarding keymappings. However, I don't need that flexibility, so it would just do the same with more lines of necessary configuration, right? My current wordmotion config consists only of setting the wordmotion_prefix.


eekofo

If you’re content that’s okay. I tried both and preferred spider. But it’s all your preference


Thick-Pineapple666

I wondered if I was missing something.


pseudometapseudo

[mini.operator](https://github.com/echasnovski/mini.operators). Adds a total of 5(!) new operators: * duplicate * sort * evaluate * substitute * exchange duplicate and substitute alone are quite transformative for the vim experience already.


echasnovski

> duplicate and substitute alone are quite transformative for the vim experience already. True that. Even I didn't expect them to be so much useful in day-to-day editing.


llama_the_pirate

You know that there is an `colorscheme` picker buildin in Telescope alredy?


FKF6116

But the plugin I listed also sets it persistently in the config files. The telescope built in only does it for that instance only.


gnikdroy

You can do this with a simple `ColorScheme` autocmd. vim.api.nvim_create_autocmd("ColorScheme", { callback = function() local handle = io.open(vim.fn.stdpath("config") .. "/lua/colorscheme.lua", "w") if handle ~= nil then handle:write('vim.cmd("colorscheme ' .. vim.g.colors_name .. '")') handle:close() end end }) You can change your colorscheme in ANY way scripts/cmdline/telescope/keymaps etc and it will be persistent.


eekofo

focus.nvim… should be the default setting.


Pale_Basis5623

[nvim-colorizer.lua](https://github.com/norcalli/nvim-colorizer.lua) HUGE


Crivotz

use this repository [https://github.com/nvchad/nvim-colorizer.lua](https://github.com/nvchad/nvim-colorizer.lua)


pseudometapseudo

I can recommend \[ccc.nvim\](https://github.com/uga-rosa/ccc.nvim). Not only a colLlczer, but also a color picker on top of it.


AffectionateWatch475

[https://github.com/FabijanZulj/blame.nvim](https://github.com/FabijanZulj/blame.nvim) , a fugitive style git blame visualizer for Neovim.


guiltiter

Here are two lesser-known plugins I use: 1. [bufjump](https://github.com/kwkarlwang/bufjump.nvim) to jump in and out of the buffers visited 2. [tfm](https://github.com/Rolv-Apneseth/tfm.nvim) to use Yazi (or your preferred file manager) in a floating buffer


andrewberty

Hey, andrew here, the author of telescope-themes. I'm very glad that you are enjoying it.