vim-projectionist
ctrlp.vim
vim-projectionist | ctrlp.vim | |
---|---|---|
25 | 10 | |
1,033 | 7,256 | |
- | - | |
4.6 | 0.0 | |
about 2 months ago | about 2 years ago | |
Vim Script | VimL | |
- | - |
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.
ctrlp.vim
-
neovim + telescooe + fzf native
ctrl-p
-
Project & File navigation
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)
-
If you are going to install a load of plugins anyways, why not just use an IDE that has vim mode?
Ctrlp.vim existed prior to VSCode.
- Switching from VSCode how to make Similar Cmd+P for Finding Files
-
Software engineers on big projects using vim, are you there?
Fuzzy file search: fzf, ctrlp
-
Movement key remapping not working properly
" --- VUNDLE --- set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " The following are examples of different formats supported. " Keep Plugin commands between vundle#begin/end. " plugin on GitHub repo Plugin 'tpope/vim-fugitive' " plugin from http://vim-scripts.org/vim/scripts.html " Plugin 'L9' " Git plugin not hosted on GitHub Plugin 'git://git.wincent.com/command-t.git' " git repos on your local machine (i.e. when working on your own plugin) "Plugin 'file:///home/gmarik/path/to/plugin' " The sparkup vim script is in a subdirectory of this repo called vim. " Pass the path to set the runtimepath properly. Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} " Install L9 and avoid a Naming conflict if you've already installed a " different version somewhere else. " Plugin 'ascenator/L9', {'name': 'newL9'} " All of your Plugins must be added before the following line Plugin 'Valloric/YouCompleteMe' Plugin 'preservim/nerdtree' call vundle#end() " required filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on " " Brief help " :PluginList - lists configured plugins " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate " :PluginSearch foo - searches for foo; append `!` to refresh local cache " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal " " see :h vundle for more details or wiki for FAQ " Put your non-Plugin stuff after this line " --- NATIVE --- syntax on set tabstop=4 softtabstop=4 set shiftwidth=4 set expandtab set smartindent set nu set relativenumber set nowrap set smartcase set noswapfile set nobackup set undodir=~/.vim/undodir set undofile set incsearch " --- VIM-PLUG --- call plug#begin() Plug 'morhetz/gruvbox' Plug 'jremmen/vim-ripgrep' Plug 'vim-utils/vim-man' Plug 'mbbill/undotree' Plug 'https://github.com/kien/ctrlp.vim.git' call plug#end() colorscheme gruvbox set background=dark if executable('rg') let g:rg_derive_root=true endif let mapleader = " " let g:netrw_browse_split=2 let g:netrw_banner=0 let g:netrw_winsize=25 let g:ctrlp_use_caching=0 " --- REMAPPING --- " shift movement one key to the right noremap j h noremap k j noremap l k noremap ; l noremap h : " jj to escape from insert mode imap jj " --- COMMANDS --- " f9 runs current python script " normal mode autocmd FileType python map :w:exec '!python3' shellescape(@%, 1) " insert mode autocmd FileType python imap :w:exec '!python3' shellescape(@%, 1)
-
How do I get into the vim world.
Set vim as your default text editor, that could give you additional motivation :) regarding plugins, it really depends of what you use now, but there are still some great general-use plugins: ctrl + p nerdtree git blame ack to beggin with
-
A few questions from an Emacs user
check nerdtree and ctrlp
-
How can I learn VIM workflow(besides actual VIM)
Ctrl+p: A plugin to quickly jump to a file by name.
-
Make NERDTree work with Tabs and Sessions.
To open your files, use something like ctrl-p Alternative is fzf.vim
What are some alternatives?
jumpwire.nvim - Jump easily between related files.
fzf.vim - fzf :heart: vim
denite.nvim - :dragon: Dark powered asynchronous unite all interfaces for Neovim/Vim8
harpoon
autojump - A cd command that learns - easily navigate directories from the command line
fzf - :cherry_blossom: A command-line fuzzy finder
vim-rails - rails.vim: Ruby on Rails power tools
vscode-neovim - Vim mode for VSCode, powered by Neovim
bufexplorer - BufExplorer Plugin for Vim
LunarVim - 🌙 LunarVim is an IDE layer for Neovim. Completely free and community driven.
ack.vim - Vim plugin for the Perl module / CLI script 'ack'