Project & File navigation

This page summarizes the projects mentioned and recommended in the original post on /r/vim

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • fzf.vim

    fzf :heart: vim

  • For file navigation there is fzf.vim plugin: https://github.com/junegunn/fzf.vim (I would say there is also plugin for fzf - lsp integration).

  • telescope.nvim

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

  • use a fuzzy finder, I like https://github.com/nvim-telescope/telescope.nvim (when I was a vim user, it was https://github.com/kien/ctrlp.vim)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Git

    Git Source Code Mirror - This is a publish-only repository but pull requests can be turned into patches to the mailing list via GitGitGadget (https://gitgitgadget.github.io/). Please follow Documentation/SubmittingPatches procedure for any of your improvements.

  • Another way I like to open up a code base is by using git jump ... https://github.com/git/git/tree/master/contrib/git-jump.

  • CTRLGGitBlame.vim

    Append git blame information to the output of <C-g>

  • Last but not least, I use my own plugin that extends to include git blame information: https://github.com/andlrc/CTRLGGitBlame.vim This helps me understand the motivation behind a change. It also populates @c with the commit, making it possible to write things like:

  • nerdtree

    A tree explorer plugin for vim.

  • There are also file tree plugins if look into long and deep fs structures is helping you visually (long time ago nerdtree was popular: https://github.com/preservim/nerdtree but I don't use it anymore for years)

  • ranger.vim

    Ranger integration in vim and neovim

  • ranger.vim that integrates the file explorer ranger into vim. (Superior to NERDTree IMHO)

  • ranger

    A VIM-inspired filemanager for the console

  • ranger.vim that integrates the file explorer ranger into vim. (Superior to NERDTree IMHO)

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • vim-lsp

    async language server protocol plugin for vim and neovim

  • vim-lsp that can be bootstrapped with vim-lsp-settings, for jumping to definitions, etc.

  • vim-lsp-settings

    Auto configurations for Language Server for vim-lsp

  • vim-lsp that can be bootstrapped with vim-lsp-settings, for jumping to definitions, etc.

  • fzf

    :cherry_blossom: A command-line fuzzy finder

  • fzf is an great tool to have in the shell, as well. It adds a ctrl-t keybinding that fuzzy-finds files from your CWD, that is just awesome. I've made lots of bash aliases that use it too. For example: alias g='cd ~/git/$(ls ~/git | fzf --cycle)' for changing directory to a project folder by fuzzy-finding its name.

  • fzf-git.sh

    bash and zsh key bindings for Git objects, powered by fzf

  • Which now I see has been migrated to https://github.com/junegunn/fzf-git.sh

  • tig

    Text-mode interface for git

  • I use tig for browsing git. I've made some custom integrations in vim.

  • vim-localvimrc

    Search local vimrc files (".lvimrc") in the tree (root dir up to current dir) and load them.

  • A big part of 'project awareness' implies (to me at least!) that a project is organized in some meaningful way: test/view/model/service/domain files all relate to one another by their naming conventions and location in the project tree.When I start/join a project I look for documentation of the project's structure (or document it myself!). Then for vim:- use https://github.com/embear/vim-localvimrc - drop a .vimrc in the project so I can tweak vim to suit the project.

  • vim-projectionist

    projectionist.vim: Granular project configuration

  • use https://github.com/tpope/vim-projectionist - define the relationships between files (example: app/*js are 'source' files and test/*js are 'test' files). Projectionist sets up `:A` to jump to the 'alternate' file (jump between a 'source' file and its 'test' for instance), and `:Esource` and `:Etest` commands to find/navigate by the kind of file. This is very powerful IMO - for projects with good structure I can quickly jump between related test/source/model/blah files very quickly using these commands. For projects without good structure I rethink or get the team to talk about how we might improve the project organization (ie, lack of structure is a code smell!)

  • vim-gutentags

    A Vim plugin that manages your tag files

  • use tags, I like https://github.com/ludovicchabant/vim-gutentags for this. I might use my local .vimrc to tweak the config (exclude compiled source files and other uninteresting things)

  • vim-grepper

    :space_invader: Helps you win at grep.

  • use a grep tool plugin, I like https://github.com/mhinz/vim-grepper for this.

  • ctrlp.vim

    Fuzzy file, buffer, mru, tag, etc finder.

  • use a fuzzy finder, I like https://github.com/nvim-telescope/telescope.nvim (when I was a vim user, it was https://github.com/kien/ctrlp.vim)

  • vimfiles

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • I use the default file browser in vim (netrw). I know there are plugins that a lot of people like. Should I switch?

    9 projects | /r/vim | 29 Jun 2023
  • dealing with several files in several directories

    6 projects | /r/vim | 30 Jun 2021
  • A Practical Guide to fzf: Vim Integration

    2 projects | /r/commandline | 29 Nov 2023
  • Open previous git version of file?

    3 projects | /r/neovim | 12 Jul 2023
  • Manual page in vim with fuzzy search with preview, documentation with cherry on top.

    2 projects | /r/vim | 12 Jul 2023