vim-better-whitespace
fzf.vim
vim-better-whitespace | fzf.vim | |
---|---|---|
5 | 157 | |
1,341 | 9,401 | |
- | - | |
3.4 | 6.6 | |
10 days ago | 7 days ago | |
Vim Script | Vim Script | |
The Unlicense | MIT License |
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-better-whitespace
-
Disabling vim-better-whitespace in floating buffer?
How do I stop vim-better-whitespace from being activated in my ToggleTerm+Lazygit buffer?
-
How to get this arrow and not equal symbol?
For showing whitespace characters, here is a good vimscript based plugin - https://github.com/ntpeters/vim-better-whitespace
-
lsp-error with clangd when opening a cpp file in Ubuntu
-- Neovim configuration by Daniele Lupo (Jepessen) --- Require --- local utils = require('utils') --- Options --- -- Add number to rows utils.opt('o', 'number', true) -- Set indentation of files local indent = 2 utils.opt('b', 'expandtab', true) utils.opt('b', 'shiftwidth', indent) utils.opt('b', 'smartindent', true) utils.opt('b', 'tabstop', indent) utils.opt('b', 'autoindent', true) utils.opt('o', 'smarttab', true) utils.opt('b', 'softtabstop', indent) -- Enable the mouse utils.opt('o', 'mouse', 'a') -- Set nocompatible mode for more powerful commands utils.opt('o', 'compatible', false) -- Set some search options utils.opt('o', 'showmatch', true) utils.opt('o', 'ignorecase', true) utils.opt('o', 'hlsearch', true) utils.opt('o', 'incsearch', true) -- Set options for color scheme utils.opt('o', 'termguicolors', true) --- Keymappings --- -- Remap jj to escape in insert mode utils.map('i', 'jj', '') utils.map('n', 'JJJJ', '') -- Swap ; and : utils.map('n', ':', ';') utils.map('n', ';', ':') -- Start plugin section. Use this section in order to install new plugins to -- neovim. -- -- In order to install a new plugin, you need to put in this section the -- repository where it can be found, and then refresh the plugin list by -- installing them with the command: -- -- :PlugInstall -- Auto install vim-plug that's a plugin manager local vimplugrepository = '' local installpath = vim.fn.stdpath('config')..'/autoload' local vimpluginstallpath = installpath..'/plug.vim' local vimplugrepository = 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' if vim.fn.empty(vim.fn.glob(vimpluginstallpath)) > 0 then vim.api.nvim_command('!curl -flo '..vimpluginstallpath..' --create-dirs '..vimplugrepository) vim.cmd 'autocmd VimEnter * PlugInstall' end local Plug = vim.fn['plug#'] -- Put plugins in this section. Define a Plug with the repository of the plugin that you want vim.call('plug#begin', installpath) -- Vim airline. This plugin creates a nice status bar with more features than -- standard one. Plug 'https://github.com/vim-airline/vim-airline' -- NerdTree is a plugin for showing a tree folder structure of the filesystem. Plug 'https://github.com/preservim/nerdtree' -- Vim color schemes Plug 'https://github.com/rafi/awesome-vim-colorschemes' -- Developer icons Plug 'https://github.com/ryanoasis/vim-devicons' -- Surrounding with parenthesis and xml tags with cs command and more Plug 'https://github.com/tpope/vim-surround' -- Show trailing whitespaces and use the command :StripWhitespace for removing -- them Plug 'https://github.com/ntpeters/vim-better-whitespace.git' -- Install the LSP server for configuring it with clangd for code completition -- in C++ Plug 'https://github.com/neovim/nvim-lspconfig' -- An interesting theme Plug 'https://github.com/Pocco81/Catppuccino.nvim' vim.call('plug#end') --- PLUGINS CONFIGURATION --- -- Nerdtree -- Configure keys so with ctrlf go to the tree, with ctrl+n open the tree, and -- ctrl+t toggle the tree utils.map('n', '', ':NERDTreeFocus') utils.map('n', '', ':NERDTree') utils.map('n', '', ':NERDTreeToggle') --- LSP CONFIG --- -- Main configuration local lspremapopts = { noremap = true, silent = true } vim.keymap.set('n', 'e', vim.diagnostic.open_float, lspremapopts) vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, lspremapopts) vim.keymap.set('n', ']d', vim.diagnostic.goto_next, lspremapopts) vim.keymap.set('n', 'q', vim.diagnostic.setloclist, lspremapopts) -- Use an on_attach function to only map the following keys -- after the language server attaches to the current buffer local on_attach = function(client, bufnr) -- Enable completition triggered by vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') -- Mappings -- See ':help vim.lsp.* local bufopts = { noremap = true, silent = true, bufnr = bufnr } vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts) vim.keymap.set('n', '', vim.lsp.buf.signature_help, bufopts) vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, bufopts) vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, bufopts) vim.keymap.set('n', 'wl', function () print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, bufopts) vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts) vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts) vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) vim.keymap.set('n', 'gr', vim.lsp.buf.references.bufopts) vim.keymap.set('n', 'f', vim.lsp.buf.formatting, bufopts) end -- Now the servers must be defined and set. In order to load them it's -- convenient to define them in an array and use a loop. local servers = { 'pyright', 'clangd' } for _, lsp in pairs(servers) do require('lspconfig')[lsp].setup { on_attach = on_attach, flags = { debounce_text_changes = 150 } } end --- COLOR SCHEME --- vim.cmd[[colorscheme catppuccin]]
-
strip whitespace only on changed lines
I have used this vim plugin before https://github.com/ntpeters/vim-better-whitespace and I'd love to have the same behavior on emacs.
-
Using Vim for Everything!
I just saw a nice post in /u/medwatt about using vim for VHDL/Verilog and thought I'd contribute a little! * Syntax and error highlight: https://github.com/autozimu/LanguageClient-neovim * Column align: https://github.com/junegunn/vim-easy-align * Remove annoying whitespaces: https://github.com/ntpeters/vim-better-whitespace * Partial (fuzzy) filename search: https://github.com/junegunn/fzf.vim * Outline all declarations inside a file: ⠀https://github.com/preservim/tagbar * Treat indentations as vim-objects (useful for languages that don't use { }): https://github.com/michaeljsmith/vim-indent-object There is also mouse support in vim for those who want it. Try typing :set mouse=a. Very useful for resizing windows. I also highly recommend you get good at using folds (https://vim.fandom.com/wiki/Folding). It makes it a LOT easier to navigate files. You can save your fold config per-file with :mkview and load it later with :loadview. If I come up with more hints - I'll mention them in the comments!
fzf.vim
-
What are some plugins that you can't live without?
Fuzzy Finder: fzf.vim (for its speed) along with telescope.nvim (for its ecosystem)
-
Ripgrep is faster than {grep, ag, Git grep, ucg, pt, sift}
https://github.com/junegunn/fzf.vim
And added my keyboard shortcuts.
-
A Practical Guide to fzf: Vim Integration
There are two plugins allowing us to use fzf in Vim: the native fzf plugin directly installed with fzf, and fzf.vim. The second plugin is built on the first one.
-
LazyVim
You might be interested in installing the fzf-vim plugin [0]. It has a user-defined command :Maps which can be used to search through all keybindings (you can also do this with just :nmap in vim, but the fzf interface is much nicer). It also provides :Commands. This behaves remarkably like VSCode's command palette.
[0] https://github.com/junegunn/fzf.vim
-
Manual page in vim with fuzzy search with preview, documentation with cherry on top.
You'll also need https://github.com/junegunn/fzf.vim (which is imo the only vim plugin that's a must).
-
I use the default file browser in vim (netrw). I know there are plugins that a lot of people like. Should I switch?
I do all my file operations from the command line. But to open and search files I use fzf
-
How to use popup and fuzzy in vim9
Regarding plugins , I am using https://github.com/Donaldttt/fuzzyy because it works in windows, unlike https://github.com/junegunn/fzf.vim
-
Alternative to harpoon for vim to quickly navigate few files/buffers
There's a :Buffers command in fzf.vim that I use extensively. It opens a fuzzy-find window with all open buffers in a MRU list.
-
fzfx.vim: E(x)tended fzf commands missing in fzf.vim
Thanks to fzf.vim and fzf-lua, everything I learned and copied is from them.
-
jfind: over 130x faster than telescope + telescope-fzf-native
they're likely referring to fzf.vim, the vimscript plugin from the original fzf author that wraps around fzf. there's also fzf-lua nowadays.
What are some alternatives?
neovim - Vim-fork focused on extensibility and usability
telescope.nvim - Find, Filter, Preview, Pick. All lua, all the time.
ws-butler - Unobtrusively trim extraneous white-space *ONLY* in lines edited.
ctrlp.vim - Fuzzy file, buffer, mru, tag, etc finder.
lessspace.vim - Better whitespace stripping for Vim
nerdtree - A tree explorer plugin for vim.
Catppuccino.nvim - 🍨 Catppuccin theme for NeoVim [Moved to: https://github.com/catppuccin/nvim]
fzf-lua - Improved fzf.vim written in lua
vim-workspace - 📑 Automated Vim session management with file auto-save and persistent undo history
harpoon
Esopoly - :stuck_out_tongue_closed_eyes: Polyglot written in 7 esoteric programming languages
nvim-tree.lua - A file explorer tree for neovim written in lua