vim-better-whitespace VS Catppuccino.nvim

Compare vim-better-whitespace vs Catppuccino.nvim and see what are their differences.

Catppuccino.nvim

🍨 Catppuccin theme for NeoVim [Moved to: https://github.com/catppuccin/nvim] (by Pocco81)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
vim-better-whitespace Catppuccino.nvim
5 15
1,341 230
- -
3.4 9.4
7 days ago over 2 years ago
Vim Script Lua
The Unlicense MIT License
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!

Catppuccino.nvim

Posts with mentions or reviews of Catppuccino.nvim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-11.
  • lua error when installing `telescope-fzf-native`
    2 projects | /r/neovim | 11 Nov 2022
    -- Add numbers to rows vim.wo.number = true vim.wo.colorcolumn = '120' -- Set indentation of files local indent = 2 vim.bo.expandtab = true vim.bo.shiftwidth = indent vim.bo.smartindent = true vim.bo.tabstop = indent vim.bo.autoindent = true vim.o.smarttab = true vim.bo.softtabstop = indent -- Enable the mouse vim.o.mouse = 'a' -- Set nocompatible mode for more powerful commands vim.o.compatible = false -- Set some search options vim.o.showmatch = true vim.o.ignorecase = true vim.o.hlsearch = true vim.o.incsearch = true -- Set options for color scheme vim.o.termguicolors = true --- Key Mappings --- vim.api.nvim_set_keymap('i', 'jj', '', {noremap = true}) vim.api.nvim_set_keymap('n', 'JJJJ', '', {noremap = true}) vim.api.nvim_set_keymap('n', ':', ';', {noremap = true}) vim.api.nvim_set_keymap('n', ';', ':', {noremap = true}) --- Plugins --- -- 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 the 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 reposiutory of the -- plugin that you want vim.call('plug#begin', installpath) -- Nice theme Plug 'https://github.com/Pocco81/Catppuccino.nvim' -- Nvim-Tree for file browsing Plug 'nvim-tree/nvim-web-devicons' Plug 'nvim-tree/nvim-tree.lua' -- Installing mason with its dependencies Plug 'neovim/nvim-lspconfig' Plug 'williamboman/mason-lspconfig.nvim' Plug 'mfussenegger/nvim-dap' Plug 'mfussenegger/nvim-lint' Plug 'mhartington/formatter.nvim' Plug 'williamboman/mason.nvim' -- Telescope for find files and in files Plug 'nvim-lua/plenary.nvim' Plug 'BurntSushi/ripgrep' -- Plug 'nvim-telescope/telescope-fzf-native.nvim', { 'do': 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' } Plug 'nvim-treesitter/nvim-treesitter' Plug 'nvim-telescope/telescope.nvim' -- Status line Plug 'nvim-lualine/lualine.nvim' -- Tabs Plug 'romgrk/barbar.nvim' vim.call('plug#end') --- Plugins configuration --- -- Color scheme vim.cmd[[colorscheme catppuccin]] -- nvim-tree require('nvim-tree').setup ({ sort_by = 'case_sensitive', view = { adaptive_size = true, mappings = { list = { { key = 'u', action = 'dir_up' }, }, }, }, renderer = { group_empty = true, }, filters = { dotfiles = true, }, }) vim.api.nvim_set_keymap('n', '', ':NvimTreeToggle', { noremap = true, silent = true }) -- Mason require('mason').setup() require('mason-lspconfig').setup() require'lspconfig'.clangd.setup{} require'lspconfig'.luau_lsp.setup{} -- Telescope local builtin_telescope = require('telescope.builtin') vim.keymap.set('n', 'ff', builtin_telescope.find_files, {}) vim.keymap.set('n', 'fg', builtin_telescope.live_grep, {}) vim.keymap.set('n', 'fb', builtin_telescope.buffers, {}) vim.keymap.set('n', 'fh', builtin_telescope.help_tags, {}) require('telescope').setup {} -- require('telescope').load_extension('fzf') -- Lua line require('lualine').setup { options = { theme = 'ayu_mirage' } } -- Bars require('bufferline').setup() local map = vim.api.nvim_set_keymap local opts = { noremap = true, silent = true } -- Move to previous/next map('n', '', 'BufferPrevious', opts) map('n', '', 'BufferNext', opts) -- Re-order to previous/next map('n', '', 'BufferMovePrevious', opts) map('n', '>', 'BufferMoveNext', opts) -- Goto buffer in position... map('n', '', 'BufferGoto 1', opts) map('n', '', 'BufferGoto 2', opts) map('n', '', 'BufferGoto 3', opts) map('n', '', 'BufferGoto 4', opts) map('n', '', 'BufferGoto 5', opts) map('n', '', 'BufferGoto 6', opts) map('n', '', 'BufferGoto 7', opts) map('n', '', 'BufferGoto 8', opts) map('n', '', 'BufferGoto 9', opts) map('n', '', 'BufferLast', opts) -- Pin/unpin buffer map('n', '', 'BufferPin', opts) -- Close buffer map('n', '', 'BufferClose', opts) -- Wipeout buffer -- :BufferWipeout -- Close commands -- :BufferCloseAllButCurrent -- :BufferCloseAllButPinned -- :BufferCloseAllButCurrentOrPinned -- :BufferCloseBuffersLeft -- :BufferCloseBuffersRight -- Magic buffer-picking mode map('n', '', 'BufferPick', opts) -- Sort automatically by... map('n', 'bb', 'BufferOrderByBufferNumber', opts) map('n', 'bd', 'BufferOrderByDirectory', opts) map('n', 'bl', 'BufferOrderByLanguage', opts) map('n', 'bw', 'BufferOrderByWindowNumber', opts)
  • 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]]
  • CosmicNvim - New Themes!
    6 projects | /r/neovim | 15 Nov 2021
    Hi everyone! I’m happy to announce that CosmicNvim now includes first-class support for 4 additional themes on top of the default for a total of 5 themes to choose from! The current selection: - [Catppuccino](https://github.com/Pocco81/Catppuccino.nvim) - [Gruvbox](https://github.com/ellisonleao/gruvbox.nvim) - [Rose-pine](https://github.com/rose-pine/neovim) - [Nord](https://github.com/shaunsingh/nord.nvim) - [Tokyonight](https://github.com/folke/tokyonight.nvim) Repo: https://github.com/mattleong/CosmicNvim (⭐️’s are very appreciated!) I’ve previously said that I wouldn’t implement first class theme support for CosmicNvim outside of the default theme… Well, I guess I changed my mind. 😅 For one, it’s probably been the most requested feature. For another, I want to be able to swap and play around with themes easily as well. My initial reason for _not_ wanting to include additional theme support was because I was worried about what sort of complexity it would bring. Turns out it’s not so bad and doesn’t overly bloat the codebase. If you have any suggestions for themes you’d like to see implemented, please feel free to drop them in the open [issue](https://github.com/mattleong/CosmicNvim/issues/25)!
    6 projects | /r/neovim | 15 Nov 2021
    The current selection: - Catppuccino - Gruvbox - Rose-pine - Nord - Tokyonight
  • Any color sheme with working colorized undercurls ?
    3 projects | /r/neovim | 6 Nov 2021
    https://github.com/Pocco81/Catppuccino.nvim has support for colorized undercurls, but haven’t tried it yet, so I can say if it works or not
  • What's your neovim colorscheme?
    54 projects | /r/neovim | 1 Nov 2021
    same, but are you using the old colorschemes or the remastered theme? In case you are interested, here you can see what led to the creation of the remastered theme.
  • [Plugin] ftFT.nvim: A pure Lua plugin that gives highlights to f{char} command
    3 projects | /r/neovim | 1 Nov 2021
    Nice one! Btw would it be possible for you to allow custom hi groups? I personally would use this to create an integration for my colorscheme.
  • Is is possible to create a simple vim theme like this without a ton of work and inefficient code? Maybe with Tree-sitter?
    3 projects | /r/neovim | 27 Oct 2021
    Not sure if it helps but I have my own colorscheme named Catppuccino (side note: colors will be refactored soon). It has a bunch of integrations and basically everything you'd expect from a full featured theme.
  • Complete colourschemes for treesitter?
    1 project | /r/neovim | 11 Sep 2021
    I'd recommend you Catppuccino.nvim
  • [OC] Finally ported Catppuccino themes to Tmux!
    1 project | /r/tmux | 3 Sep 2021
    They were ported from Catppuccino.nvim, a colorscheme for NeoVim: https://github.com/Pocco81/Catppuccino.nvim

What are some alternatives?

When comparing vim-better-whitespace and Catppuccino.nvim you can also consider the following projects:

neovim - Vim-fork focused on extensibility and usability

tokyonight.nvim - 🏙 A clean, dark Neovim theme written in Lua, with support for lsp, treesitter and lots of plugins. Includes additional themes for Kitty, Alacritty, iTerm and Fish.

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

barbar.nvim - The neovim tabline plugin.

lessspace.vim - Better whitespace stripping for Vim

vim-sneak - The missing motion for Vim :athletic_shoe:

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

vim-enfocado - How themes should be.

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

tree-sitter - An incremental parsing system for programming tools

nvim-lspconfig - Quickstart configs for Nvim LSP

zen-mode.nvim - 🧘 Distraction-free coding for Neovim