What does HackerNews think of telescope.nvim?

Find, Filter, Preview, Pick. All lua, all the time.

Language: Lua

#41 in Hacktoberfest
#2 in Lua
I actually find neovim to work better than VSCode when dealing with large codebases. Telescope [1] based fuzzy searching makes it easy to find stuff in a codebase and harpoon [2] can then be used to short list some important files and quickly navigate to them. There's definitely a bit of a learning curve and setting up your own keybindings before you feel like you're used to it.

[1] https://github.com/nvim-telescope/telescope.nvim [2] https://github.com/ThePrimeagen/harpoon

Telescope[1] is pretty central to navigation in Neovim these days. Think Ctrl-P in VSCode, but for any entity in your editor or workspace, not just files. Files in workspace, buffers (open files), ripgrep results, LSP symbols / references, etc. Also provides a live preview of search results without having to open them. Plus easily add results to your quickfix list, making large-scale edits easy.

[1]:https://github.com/nvim-telescope/telescope.nvim

Telescope[1] on NeoVim can provide such interface. It is not standard, but telescope is becoming really widespread.

[1]: https://github.com/nvim-telescope/telescope.nvim

https://github.com/jesseduffield/lazygit (My favourite git interface. Can be used in neovim as well)

https://github.com/nvim-telescope/telescope.nvim (Fuzzy finder plugin that uses ripgrep and fzf)

https://github.com/ajeetdsouza/zoxide Smart replacement for `cd`

https://github.com/be5invis/Iosevka My favourite font for coding, it's width lets me fit more text on the screen

I have a vi oriented solution.

I use neovim+vimwiki(in markdown mode)+telescope[0] and that setup has been working well for me. I don’t do tags per se but telescope should be able to search those.

[0] https://github.com/nvim-telescope/telescope.nvim

> I’m finding myself doubting the amount of time I’m dedicating to configuring/practicing vim

If it's not fun, then it's probably not worth it. It really depends on what VIM can do to improve your current workflow. So, you may need to drop the VSCode mindset while you start using VIM.

> but now that I’m trying to navigate medium/large projects,

I actually have trouble navigating large projects in VSCode. The buffer, tab, window model that Vim uses makes more sense to me (but it's unique to VIM afaik, so it may be jarring at first). Combine that with a fuzzy finder[1] and it allows:

- rip-grep to search for files with text / file names

- Searching through currently currently opened buffers

Whenever I have to use VSCode (mainly for the live share feature, I find myself pretty lost with VSCode's tab based interface (I usually end up with like 20 tabs cluttering my workspace, and tabs are local to a split, which is jarring for me).

> the vim endgame looks like

It never _really_ ends. Some VIM features that I miss when I use another editor are:

- Really nice integration with terminal commands. One thing that I do very often is copy the name of the current file: `!echo % | xclip -sel clip` so I can use the filename as an argument in a terminal split (running tests for example)

- Filters (`:help !`) so I can pass parts of a file in to a program that accepts standard input. Example: `'<,'>!jq` to prettify bits of JSON.

- Global commands and macros. VSCode vim supports them, but I've noticed that they can run pretty slowly.

- The buffer, tab, window, model (probably the biggest one I miss when I start using VSCode)

For LSP support, I've tried to migrate to neovim's native LSP tools, but I still find COC to be a lot more intuitive. You should feel right at home with it since a lot of the plugins are similar to their VSCode counterpart.

If you'd like a really general and guided tour of VIM, I'd recommend picking up Practial Vim[2] It really helped me understand the workflow a bit more. Approaching VIM with the mindset of another editor wont give you all the benefits of using VIM. Though, if the workflow doesn't click, then that's not a big deal. You can always go back to VSCode.

[1] https://github.com/Shougo/denite.nvim (many people use Telescope: https://github.com/nvim-telescope/telescope.nvim) [2] https://www.amazon.com/Practical-Vim-Thought-Pragmatic-Progr...

I also like using fzf (https://github.com/junegunn/fzf.vim) and telescope (https://github.com/nvim-telescope/telescope.nvim) with neovim. I tried setting up tags a long time ago but faintly recall the process being cumbersome.
I actually stopped using Obsidian a few months ago. I feel like these knowledge collection/note taking applications over complicate everything. I wasn't happy with the search feature in Obsidian specifically and the fact that it forces you to add their own application specific characters/flavor to your markdown. [0]

I thought about it and my minimum requirements for a knowledge graph tool are:

1. Edit files in vanilla Markdown (no application specific cruft)

2. Be able to search content easily (ideally via grep)

3. Add 1:1 or 1:many links between files (direct links vs. tags, ideally using requirement 2 to implement this)

And the simplest solution for me was:

1. A single level directory of md files (no folders!)

2. Vim + Telescope [1]

3. A small set of guidelines [2] to define searchable patterns for linking files/nodes

I also wrote a little md renderer (seen in link 2) that adds the features I wanted for exploring my notes/second brain in a browser that picks up on the patterns in the guidelines. Gotta get a grep search on that thing and it'll be golden, but I apologize I'm rambling at this point.

Never been happier. I just use Working Copy to jot notes on mobile when I'm not at my computer.

[0] https://help.obsidian.md/How+to/Internal+link

[1] https://github.com/nvim-telescope/telescope.nvim

[2] https://notes.zacholland.net/file/index.md

Nvim has some plugins and features that do some of the things you might be interested in. Telescope[0][1] which is a fuzzy finder for anything you can think of (files, symbols, color themes, etc.[2]). The LSP and Treesitter stuff in nvim 0.5+ is also pretty cool. If you want to just try it without much work the Lunarvim[3] project comes with sane defaults and included plugins (including Telescope).

Lua as the default configuration language makes things simple to configure as well.

Having said all that...if someone told me [insert-text-editor] had everything I would want I would probably check it out and go home to vim (but I do enjoy learning about new stuff and features).

[0] https://github.com/nvim-telescope/telescope.nvim

[1] https://www.youtube.com/watch?v=65AVwHZflsU -- demo video

[2] https://github.com/nvim-telescope/telescope.nvim#vim-pickers

[3] https://www.lunarvim.org/

There's a few really cool things. The built in LSP is pretty clean compared to clunky nodejs or python plugins which I've found to clog down on huge codebases. The syntax engine has been improved by a tree-sitter algo, so it's way more robust with the syntax hilighting. And while I haven't messed with this yet you can do the whole config file in Lua now, which sounds pretty powerful.

The improved tree-sitter code parsing also allows for stuff like this which you won't find fully implementable in mainline Vim yet:

https://github.com/nvim-telescope/telescope.nvim