vim-be-good
tagbar
vim-be-good | tagbar | |
---|---|---|
22 | 31 | |
2,682 | 6,083 | |
- | 0.2% | |
2.5 | 4.7 | |
30 days ago | about 2 months ago | |
Lua | Vim Script | |
- | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
vim-be-good
-
Ask HN: Comment here about whatever you're passionate about at the moment
Sure! The first thing I did was follow this video: https://www.youtube.com/watch?v=w7i4amO_zaE
This is ThePrimeagen's 0 to LSP, Neovim RC from Scratch. In this video he performs a clean installation of Neovim and goes step by step adding the things he considers essential. This was very important for me to acquaint myself with how things work, how to install plugins, how to define custom key maps. I remember the first times I tried using Vim, I couldn't figure out how to get Nerdtree to work. This video made me realize I just lacked the knowledge of how Vim config works.
This video was such a good start because It provided me with the tools to continue my exploration of Vim autonomously. In a week I was already able to install new plugins and tweak them using Lua config files the way I specifically wanted. It's such a cool experience!
Keep in mind that both the author of this video and I use Neovim, which is a fork of Vim. As a text editor they both function essentially the same. The difference lies on the config files and in broader UI capabilities by Neovim. While Vim uses Vimscript, Neovim prefers Lua, although Neovim is fully backwards compatible, so you can choose to use Vimscript for your configuration if you want as well. This also means that Vim plugins just work with Neovim!
The docs are also a huge source of knowledge for me. In the beginning I resorted to :help key-codes a lot when defining key mappings.
To learn the Vim motions, which is the most challenging part of using Vim, I suggest you find a cheatsheet online and refer to it all the time. One very cool plugin that will help you get comfortable with Vim motions is ThePrimeagen's VimBeGod: https://github.com/ThePrimeagen/vim-be-good. It's a set of game-like exercises to practice the motions. This is also pretty cool and helped a lot: https://vimsnake.com/. It's a classic snake game where instead of using arrow keys, you use HJKL. And speaking of arrow keys, one thing I did very early on was disabling them (or, in reality, remapping them to noop) in normal mode so I was forced to move around the text using Vim Motions.
At first you will get frustrated because your brain will need some time to rewire in a way to absorb all the new abstractions Vim presents. It's a whole new logic of editing text. The most important thing is to stick to it and you will be surprised with how fast you end up picking things up. Of course, don't expect to be crazy fast in a few weeks. But right now, after a little over a month, I no longer feel that discomfort using Vim anymore. I suppose I'd still be faster on VS Code, but I really want to master Vim, so I'm sticking with it and I feel a constant improvement.
-
Ask HN: How do I code offline for a week?
If you're not familiar with Vim, I'd encourage you to download a few Vim cheatsheets, the VimBeGood extension[1] and practice navigating code in Vim.
[1] https://github.com/ThePrimeagen/vim-be-good
-
Practicing VIM
For Neovim, then this Hardtime plugin will help you change the habit, and this vim-be-good from Primeagen helps learn vim motion. TJ DeVries is also a good source to learn.
- Resources for mastering vim motions
-
Vim for The VS Code User: Part 1 - Initial Setup
A game for learning vim, in vim: https://github.com/ThePrimeagen/vim-be-good
- recommendation on vimgolf challenges
-
Please help a noob.
I'm trying to NeoVim (and vi) in general having never used it. I decided to start with VimBeGood but I can't get it to launch a game. I've gotten the plugin installed but when I run :VimBeGood it just shows the screen saying "to play a game delete that line." I deleted words and noob but after that I'm lost. Nothing happens. What did I do wrong?
-
Question regarding vertical movement
I recommend vim-be-good for practicing this
-
Whats the next step?
There are plugins like https://github.com/ThePrimeagen/vim-be-good that can help with practice.
-
Atom has been archived
I found https://github.com/ThePrimeagen/vim-be-good to be kind of a nice way to build some muscle memory for vim.
tagbar
-
A function to list all function signatures in the current C source file in the quick fix window .
Check this plugin: https://github.com/preservim/tagbar
-
Moving across c-family function arguments
Are you looking for https://vim-taglist.sourceforge.net/ or https://github.com/preservim/tagbar
-
What is this font used from the everforest repo?
I ended up finding https://github.com/preservim/tagbar and like it so far
-
NeoVim & Rust
I also recommend you https://github.com/preservim/tagbar with https://ctags.io/ installed , it will map definitions (functions, enum, struct etc..) to tags and tagbar plugin allows you to open a split window with the mapped list and navigate through your file, it also enabled more advanced features for quick navigation .
-
Question regarding vertical movement
Also not that useful for text files I think, but I sometimes use something like https://github.com/preservim/tagbar to get an overview of the structure of the file, especially in unfamiliar documents. This is a quite old plugin of this nature that depends on ctags, there are more modern plugins that depend on treesitter. However for C++, I found the treesitter based bar plugins not as helpful, they need language specific settings, and the ones I tried didn't have them for C++ at the time.
-
Favorite vimrc configs for coding?
Having said this, there are some useful language independent extensions: jiangmiao/auto-pairs, tpope/vim-commentary, preservim/tagbar, junegunn/vim-peekaboo
-
converting vimscript to lua
Hey, I checked out tagbar plugin. It's really cool. It supports most of the languages. But the ones that needs to be configured, are mentioned in their wiki. It mentions vimscript in it. What will be the lua version of following vimscript?
-
NeoVim Installation and Configuration on Win10/11
:set number :set autoindent :set tabstop=5 :set shiftwidth=4 :set smarttab :set softtabstop=4 :set mouse=a call plug#begin() Plug 'http://github.com/tpope/vim-surround' " Surrounding ysw) Plug 'https://github.com/preservim/nerdtree' " NerdTree Plug 'https://github.com/tpope/vim-commentary' " For Commenting gcc & gc Plug 'https://github.com/vim-airline/vim-airline' " Status bar Plug 'https://github.com/lifepillar/pgsql.vim' " PSQL Pluging needs :SQLSetType pgsql.vim Plug 'https://github.com/ap/vim-css-color' " CSS Color Preview Plug 'https://github.com/rafi/awesome-vim-colorschemes' " Retro Scheme Plug 'https://github.com/neoclide/coc.nvim' " Auto Completion Plug 'https://github.com/ryanoasis/vim-devicons' " Developer Icons Plug 'https://github.com/tc50cal/vim-terminal' " Vim Terminal Plug 'https://github.com/preservim/tagbar' " Tagbar for code navigation Plug 'https://github.com/terryma/vim-multiple-cursors' " CTRL + N for multiple cursors Plug 'https://github.com/rstacruz/vim-closer' " For brackets autocompletion " Auto-completion For Javascript, typescript, html, jsx ...etc Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'} " this is for auto complete, prettier and tslinting let g:coc_global_extensions = ['coc-tslint-plugin', 'coc-tsserver', 'coc-css', 'coc-html', 'coc-json', 'coc-prettier'] " list of CoC extensions needed Plug 'jiangmiao/auto-pairs' "this will auto close ( [ { " these two plugins will add highlighting and indenting to JSX and TSX files. Plug 'yuezk/vim-js' Plug 'HerringtonDarkholme/yats.vim' Plug 'maxmellon/vim-jsx-pretty' set encoding=UTF-8 call plug#end() nnoremap :NERDTreeFocus nnoremap :NERDTree nnoremap :NERDTreeToggle nnoremap :call CocActionAsync('jumpDefinition') nmap :TagbarToggle :set completeopt-=preview " For No Previews :colorscheme jellybeans let g:NERDTreeDirArrowExpandable="+" let g:NERDTreeDirArrowCollapsible="~" " --- Just Some Notes --- " :PlugClean :PlugInstall :UpdateRemotePlugins " " :CocInstall coc-python " :CocInstall coc-clangd " :CocInstall coc-snippets " :CocCommand snippets.edit... FOR EACH FILE TYPE " air-line let g:airline_powerline_fonts = 1 if !exists('g:airline_symbols') let g:airline_symbols = {} endif " airline symbols let g:airline_left_sep = '' let g:airline_left_alt_sep = '' let g:airline_right_sep = '' let g:airline_right_alt_sep = '' let g:airline_symbols.branch = '' let g:airline_symbols.readonly = '' let g:airline_symbols.linenr = '' inoremap pumvisible() ? coc#_select_confirm() : ""
-
Closing brackets are highlighted in red when in the init.vim file
Plug 'https://github.com/preservim/tagbar' " Tagbar for code navigation
-
Is there a plugin similar to Visual Studio's object browser/class view?
https://github.com/preservim/tagbar (no LSP support)
What are some alternatives?
10-minute-vim-exercises - The exercise files from 10 Minute Vim, for convenience of readers
symbols-outline.nvim - A tree like view for symbols in Neovim using the Language Server Protocol. Supports all your favourite languages.
which-key.nvim - 💥 Create key bindings that stick. WhichKey is a lua plugin for Neovim 0.5 that displays a popup with possible keybindings of the command you started typing.
navigator.lua - Code analysis & navigation plugin for Neovim. Navigate codes like a breeze🎐 Exploring LSP and 🌲Treesitter symbols a piece of 🍰 Take control like a boss 🦍
vim-sneak - The missing motion for Vim :athletic_shoe:
vista.vim - :cactus: Viewer & Finder for LSP symbols and tags
vim-surround - surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease
vim-gutentags - A Vim plugin that manages your tag files
nvim-tree.lua - A file explorer tree for neovim written in lua
vim-awesome - Awesome Vim plugins from across the universe
tree-sitter - An incremental parsing system for programming tools
vim-markdown - Markdown Vim Mode