vim-better-whitespace
neovim
vim-better-whitespace | neovim | |
---|---|---|
5 | 1,384 | |
1,341 | 76,665 | |
- | 1.3% | |
3.4 | 10.0 | |
10 days ago | about 14 hours ago | |
Vim Script | Vim Script | |
The Unlicense | 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-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!
neovim
-
Why Neovim is My Text Editor of Choice
As a software engineer, choosing and understanding your text editor is important part of your work, as it impacts your productivity and workflow efficiency. It's like choosing the perfect tool for any trade - you need to know what tool to use and how to use it effectively if you want to excel. For me, I use Neovim as my editor and I have been using it for a little over a year now.
-
Let's See Your Terminal
This got me thinking about my recent pivot, my switch to Neovim by way of LazyVim to write most of my code, and using tmux to keep terminal states alive after closing a session.
-
Level Up Your Dev Workflow: Conquer Web Development with a Blazing Fast Neovim Setup (Part 1)
Neovim: Make sure you have Neovim installed on your system. You can check the official website for installation instructions: https://neovim.io/ Git: We'll be using Git to clone the LazyVim starter pack. If you don't have Git, you can download it from https://git-scm.com/downloads
- Helix - Front-End Power
- Neovim
-
Effective Neovim Setup. A Beginner’s Guide
There are several ways to install Neovim. This wiki provides several guidelines on how to install Neovim.
-
Aftermath of switching from VSCode to Neovim
All these thoughts I've shared, I would have them on occasion - but ever since I switched to Linux and Neovim, my curiosity has been through the roof. Switching over to Neovim and Linux was a not so fun weekend of configuration and spending half a day getting my work's local dev environment running on my new OS (which no one has tested development on). But I now have a deeper understanding of the tools I use, and have a text editor configured to be the most optimal for the way I want to use it.
- Neovim is 10 years old today
- Neovide – a simple, no-nonsense, cross-platform GUI for Neovim
- Neovim v0.9.5 Released
What are some alternatives?
ws-butler - Unobtrusively trim extraneous white-space *ONLY* in lines edited.
vim9 - An experimental fork of Vim, exploring ways to make Vim script faster and better.
lessspace.vim - Better whitespace stripping for Vim
helix - A post-modern modal text editor.
Catppuccino.nvim - 🍨 Catppuccin theme for NeoVim [Moved to: https://github.com/catppuccin/nvim]
neovide - No Nonsense Neovim Client in Rust
vim-workspace - 📑 Automated Vim session management with file auto-save and persistent undo history
doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]
Esopoly - :stuck_out_tongue_closed_eyes: Polyglot written in 7 esoteric programming languages
AstroVim - AstroNvim is an aesthetic and feature-rich neovim config that is extensible and easy to use with a great set of plugins [Moved to: https://github.com/AstroNvim/AstroNvim]
nvim-lspconfig - Quickstart configs for Nvim LSP
LunarVim - 🌙 LunarVim is an IDE layer for Neovim. Completely free and community driven.