vim-projectionist
vim-unimpaired
vim-projectionist | vim-unimpaired | |
---|---|---|
25 | 52 | |
1,033 | 3,232 | |
- | - | |
4.6 | 0.0 | |
about 2 months ago | 8 months ago | |
Vim Script | Vim Script | |
- | - |
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-projectionist
-
What plugins do you use to manage work across multiple files?
Tim Pope's projectionist for navigating to files of a particular category or to related files from the current one: https://github.com/tpope/vim-projectionist.
-
A few words on Ruby's type annotations state
> For myself, I'm fine with the typing being in a separate .rbs file
We type[0] by having one separate .rbs file per .rb file. Works really well with an editor's vertical splits: type outline on one side, code on the other. That, or use something like vim-projectionist[1].
[0]: (WIP: there's a huge codebase to type, but we're progressively getting there) https://github.com/DataDog/dd-trace-rb/tree/master/sig
[1]: https://github.com/tpope/vim-projectionist
-
What's the coolest thing you've done with Neovim?
One of the originals I guess must be tim pope's https://github.com/tpope/vim-projectionist
- Could use some advice for managing projects in a way that fits my mental model and codebase. Monolithic codebase with project files spread around different working directories. Or just help me change my mental model.
-
Project & File navigation
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!)
-
New Plugin: telescope-alternate
I love Tpope’s https://github.com/tpope/vim-projectionist but this one seems like a great replacement 😎
-
JVM language users- how do you write your test files?
Tim Pope's excellent Projectionist plug-in has an alternate file feature, which makes it very easy to switch between test and implementation files.
-
other.nvim - open alternative files for the current buffer.
The plugin is inspired by vim-projectionist and https://github.com/vim-scripts/a.vim
-
vim-projectionist isn't autoloading in Vim
This feels like a bug, since the plugin doesn't behave as expected when following the installation section verbatim. I filed a bug here: https://github.com/tpope/vim-projectionist/issues/168
-
Auto-open unit test file
You need https://github.com/tpope/vim-projectionist. Gotta have a file structure for unit tests though.
vim-unimpaired
-
Alternative to vim-textmanip plugin? (move selected blocks of text)
I don't think it moves blocks, but I utilize the venerable vim-unimpaired for basic text movement (and for inserting empty lines from normal mode).
-
How to create a line downwards without changing location of cursor?
vim-unimpaired gives a mapping for that for ] (and [ to insert an empty lines above the cursor).
-
what does o and O really do?
I use https://github.com/tpope/vim-unimpaired for this.
-
Install vim plugin (for XML/HTML encode/decode)
Is it possible to install a Vim plugin (like https://github.com/tpope/vim-unimpaired/tree/master)?
-
What do you really use to steer the cursor?
HJKL for movement, then mapped arrow keys to this (requires unimpaired): " Normal mode: indent or move line nmap [e nmap ]e nmap << nmap >> " Visual mode: indent or move selection vmap [egv vmap ]egv vmap >gv
-
LPT: RTFM. I routinely find something useful every time I read not only what I was looking for, but also something adjacent
Just now I was looking at the manual entry for vim-unimpaired, since I couldn't remember the incantation for swapping two lines. (It's ]e and [e for swap forward and swap backward.)
-
How do you manage buffers ?
Switch buffers with :b or the ]b [b bindings from unimpaired.
-
Markdown syntax + conceal on `.md` files
and a nice toggle remap that I found here to edit Markdown without conceal: vim.keymap.set("n", "tc", ":setlocal =&conceallevel ? 'conceallevel=0' : 'conceallevel=2'", { desc = "[T]oggle [C]onceallevel"} )
-
Using preconfigured distro vs rolling your own config
imo there are even few plugin authors who actually understand this well, and certainly no distro author does. Some of the few examples of good "vim philosophy" plugins are vim-sneak and vim-unimpaired.
-
Which vim plugins do not have a lua equivalent yet?
https://github.com/tpope/vim-unimpaired. I still use it a lot and it’s one of the few remaining vimscript plug-ins I have. It is also quite slow to load. It would be fantastic to have a Lua equivalent.
What are some alternatives?
jumpwire.nvim - Jump easily between related files.
miryoku - Miryoku is an ergonomic, minimal, orthogonal, and universal keyboard layout.
denite.nvim - :dragon: Dark powered asynchronous unite all interfaces for Neovim/Vim8
nvim-bqf - Better quickfix window in Neovim, polish old quickfix window.
autojump - A cd command that learns - easily navigate directories from the command line
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
vim-rails - rails.vim: Ruby on Rails power tools
better-escape.vim - A Vim/Neovim plugin for escaping insert mode without lagging.
bufexplorer - BufExplorer Plugin for Vim
vim-fugitive - fugitive.vim: A Git wrapper so awesome, it should be illegal
fzf.vim - fzf :heart: vim
coc-tsserver - Tsserver extension for coc.nvim that provide rich features like VSCode for javascript & typescript