vim-better-whitespace VS vim-easy-align

Compare vim-better-whitespace vs vim-easy-align and see what are their differences.

vim-easy-align

:sunflower: A Vim alignment plugin (by junegunn)
Vim
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
vim-better-whitespace vim-easy-align
5 21
1,341 4,027
- -
3.4 0.0
7 days ago almost 4 years ago
Vim Script Vim Script
The Unlicense -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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

Posts with mentions or reviews of vim-better-whitespace. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-03.
  • Disabling vim-better-whitespace in floating buffer?
    1 project | /r/neovim | 3 Feb 2023
    How do I stop vim-better-whitespace from being activated in my ToggleTerm+Lazygit buffer?
  • How to get this arrow and not equal symbol?
    4 projects | /r/neovim | 3 Jan 2023
    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
    8 projects | /r/neovim | 7 Jun 2022
    -- 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
    3 projects | /r/emacs | 24 Feb 2022
    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!
    6 projects | /r/FPGA | 6 Oct 2021
    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!

vim-easy-align

Posts with mentions or reviews of vim-easy-align. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-05.
  • How to align columns using tabs automatically? (Preferably using `mini.align`)
    2 projects | /r/neovim | 5 Jul 2023
  • In mini.align, is there a way to align by specific occurrence of a character?
    2 projects | /r/neovim | 12 Jan 2023
    As part of my journey to moving to Lua, I'm trying to move from vim-easy-align to mini.align.
  • Markdown format table
    5 projects | /r/neovim | 16 Oct 2022
    Not exactly what you are asking for, but table formatting is usually enough with general purpose align plugins: - mini.align - junegunn/vim-easy-align - godlygeek/tabular
  • How to line up columns
    1 project | /r/neovim | 14 Oct 2022
    For aligning text table data I usually used this plugin
  • mini.align - align text interactively (like 'vim-easy-align', but in Lua and slightly different mechanics)
    3 projects | /r/neovim | 22 Sep 2022
    I am happy to announce the release of mini.align - module of mini.nvim for aligning text interactively (with or without live preview). This is mostly designed after junegunn/vim-easy-align, but is implemented in Lua and has slightly different alignment specification and user interaction lifecycle.
  • My Vim Configurations
    3 projects | dev.to | 26 Jul 2022
    call plug#begin() " The default plugin directory will be as follows: " - Vim (Linux/macOS): '~/.vim/plugged' " - Vim (Windows): '~/vimfiles/plugged' " - Neovim (Linux/macOS/Windows): stdpath('data') . '/plugged' " You can specify a custom plugin directory by passing it as the argument " - e.g. `call plug#begin('~/.vim/plugged')` " - Avoid using standard Vim directory names like 'plugin' " Make sure you use single quotes " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align Plug 'junegunn/vim-easy-align' " Any valid git URL is allowed Plug 'https://github.com/junegunn/vim-github-dashboard.git' " Multiple Plug commands can be written in a single line using | separators Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets' " On-demand loading Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } Plug 'tpope/vim-fireplace', { 'for': 'clojure' } " Using a non-default branch Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' } " Using a tagged release; wildcard allowed (requires git 1.9.2 or above) Plug 'fatih/vim-go', { 'tag': '*' } " Plugin options Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' } " Plugin outside ~/.vim/plugged with post-update hook Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } " vim-airline " display the statusline at the bottom of the vim Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' " ale " check syntax on the contents of text buffers Plug 'dense-analysis/ale' " Initialize plugin system call plug#end() "================ " General settings "================ syntax on set cursorline set backspace=indent,eol,start " Show line numbers " set number " Show command in bottom bar " set showcmd " Visual autocomplete for command menu set wildmenu " Redraw only when necessary, speeds up macros set lazyredraw set hlsearch " system clipboard set clipboard=unnamed " remove all trailing whitepsace " https://vim.fandom.com/wiki/Remove_unwanted_spaces au BufWritePre * :%s/\s\+$//e " The NERD Tree noremap 1 1gt noremap 2 2gt noremap 3 3gt noremap 4 4gt noremap 5 5gt noremap 6 6gt noremap 7 7gt noremap 8 8gt noremap 9 9gt noremap 0 :tablast au BufNewFile,BufRead * set expandtab au BufNewFile,BufRead * set shiftwidth=4 au BufNewFile,BufRead * set softtabstop=4 au BufNewFile,BufRead * set tabstop=4 "=========================== " Language specific settings "=========================== " Python au BufNewFile,BufRead *.py set expandtab au BufNewFile,BufRead *.py set shiftwidth=4 au BufNewFile,BufRead *.py set softtabstop=4 au BufNewFile,BufRead *.py set tabstop=4 " Markdown au BufNewFile,BufRead *.md set expandtab au BufNewFile,BufRead *.md set shiftwidth=4 au BufNewFile,BufRead *.md set softtabstop=4 au BufNewFile,BufRead *.md set tabstop=4
  • Whenever I'm looking for plugins these days [OC]
    29 projects | /r/neovim | 7 Jul 2022
  • what vimL plugins are you still using?
    26 projects | /r/neovim | 1 Jul 2022
    vim-easy-align - I haven't yet found a Lua-based equivalent with the same flexibility.
  • align.nvim - A minimal plugin to align your lines to a certain character, string, or Lua pattern
    3 projects | /r/neovim | 6 Jun 2022
    Also does this plugin support operator-pending mode like vim-easy-align does? For instance doing gaip, ("go align in paragraph; commas) in normal mode aligns all commas in the current paragraph.
  • Aligning text. Prevent lsp.buf.formatting from shifting inline comments?
    1 project | /r/neovim | 19 May 2022
    Regarding your last question, there’s this: https://github.com/junegunn/vim-easy-align

What are some alternatives?

When comparing vim-better-whitespace and vim-easy-align you can also consider the following projects:

neovim - Vim-fork focused on extensibility and usability

goyo.vim - :tulip: Distraction-free writing in Vim

ws-butler - Unobtrusively trim extraneous white-space *ONLY* in lines edited.

LanguageClient-neovim - Language Server Protocol (LSP) support for vim and neovim.

lessspace.vim - Better whitespace stripping for Vim

nyoom.nvim - A Neovim framework and doom emacs alternative for the stubborn martian hacker. Powered by fennel and the oxocarbon theme

Catppuccino.nvim - 🍨 Catppuccin theme for NeoVim [Moved to: https://github.com/catppuccin/nvim]

vim-awesome - Awesome Vim plugins from across the universe

vim-workspace - 📑 Automated Vim session management with file auto-save and persistent undo history

tagbar - Vim plugin that displays tags in a window, ordered by scope

Esopoly - :stuck_out_tongue_closed_eyes: Polyglot written in 7 esoteric programming languages

vim-visual-star-search - Start a * or # search from a visual block