ctrlp.vim
nvim-lspconfig
ctrlp.vim | nvim-lspconfig | |
---|---|---|
10 | 523 | |
7,256 | 9,516 | |
- | 2.1% | |
0.0 | 9.7 | |
about 2 years ago | 8 days ago | |
VimL | Lua | |
- | Apache License 2.0 |
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.
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
nvim-lspconfig
-
JetBrains' unremovable AI assistant meets irresistible outcry
I suggest looking for blog posts about this, you're gunnuh wanna pick out a plugin manager and stuff. It's kind of like a package manager for neovim. You can install everything manually but usually you manually install a plugin manager and it gives you commands to manage the rest of your plugins.
These two plugins are the bare minimum in my view.
https://github.com/nvim-treesitter/nvim-treesitter
Treesitter gives you much better syntax highlighting based on a parser for a given language.
https://github.com/neovim/nvim-lspconfig
This plugin helps you connect to a given language LSP quickly with sensible defaults. You more or less pick your language from here and copy paste a snippet, and then install the relevant LSP:
https://github.com/neovim/nvim-lspconfig/blob/master/doc/ser...
For Python you'll want pylsp. For JavaScript it will depend on what frontend framework you're using, I probably can't help you there.
pylsp itself takes some plugins and you'll probably want them. https://github.com/python-lsp/python-lsp-server
Best of luck! Happy hacking.
-
Neovide – a simple, no-nonsense, cross-platform GUI for Neovim
Adding language support it neovim isn't very difficult once you're setup. I use nvim-lspconfig[1] and just about any language you could need is documented[2]. But like others have mentioned there are batteries included distributions of neovim if that's your cup of tea.
[1]: https://github.com/neovim/nvim-lspconfig/
[2]: https://github.com/neovim/nvim-lspconfig/blob/master/doc/ser...
-
A guide on Neovim's LSP client
If we can't find the basic usage in the documentation we can go to nvim-lspconfig's github repository. In there we look for a folder called server_configurations, this contains configuration files for a bunch of language servers.
-
Do I need NeoVIM?
https://github.com/hrsh7th/nvim-cmp This is an autocompletion engine https://github.com/nvim-treesitter/nvim-treesitter This allows NeoVim to install parsing scripts so NeoVim can do things like code highlighting. https://github.com/williamboman/mason.nvim Not strictly necessary, but allows you to access a repo of LSP, install them, and configure them for without you actively messing about in config files. https://github.com/neovim/nvim-lspconfig Also not strictly necessary, but vastly simplifies LSP setup. https://github.com/williamboman/mason-lspconfig.nvim This lets the above two plugins talk to each other more easily.
-
cpp setting problem
This specific issue talks about fixing clangd for that error: https://github.com/neovim/nvim-lspconfig/issues/2184. The issue is ongoing for ccls AFAIK but for clangd, this has been discussed and fixed in the past already.
-
Need help to set up the pbkit language server
I am trying to set up the pbkit language server for protobuf files. Since it is not part of the nvim-lspconfig repo's server configurations, I have to figure the way out myself. It doesn't seem to be too difficult, as I can start from the bufls configuration there. The following is what I have at the moment:
-
Option omnifunc is not set
I have configured neovim with lspconfig and mason. Added the suggested configuration of the lsp config(https://github.com/neovim/nvim-lspconfig) to ~/.config/nvim/after/plugin/lsp.lua Then I installed via mason the following language servers:
-
Using nvim-lint as a null-ls alternative for linters
Personally, i think nvim-lint is the best alternative currently, specially so because it has no dependencies on external binaries. This guide assumes you already have your LSP set up with nvim-lspconfig (or an alternative like lsp-zero). You should also have an way to install the linters you are gonna need, i highly recommend Mason with mason-lspconfig.
-
The Future of the Vim Project
Basically neovim can act as a client to a variety of different language servers (https://github.com/neovim/nvim-lspconfig/blob/master/doc/ser...) which give neovim IDE capabilities. This can be done in original Vim also but requires external plugins which can be a pain to compile and install. Neovim has it built in.
-
SQL LSP dialect
I'm struggling to get [sqlls](https://github.com/joe-re/sql-language-server) with [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) to use Postgres syntax.
What are some alternatives?
fzf.vim - fzf :heart: vim
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
harpoon
null-ls.nvim - Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
fzf - :cherry_blossom: A command-line fuzzy finder
nvim-lsp-installer - Further development has moved to https://github.com/williamboman/mason.nvim!
vscode-neovim - Vim mode for VSCode, powered by Neovim
nvim-jdtls - Extensions for the built-in LSP support in Neovim for eclipse.jdt.ls
LunarVim - 🌙 LunarVim is an IDE layer for Neovim. Completely free and community driven.
coc - Chroniques Oubliées Contemporain
ack.vim - Vim plugin for the Perl module / CLI script 'ack'
ale - Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support