From ee584495dc24deb6252b9ce3acf35cbbfe1c5eac Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Thu, 18 Nov 2021 10:31:17 +0530 Subject: [PATCH] nvim: plugins: Drop AnsiEsc and add a simpler replacement Sanitises buffer by removing ANSI codes. Idea taken from https://www.reddit.com/r/neovim/comments/qqf4nn/comment/hk1nwnk https://superuser.com/questions/1445805/removing-ansi-color-codes-from-a-text-file-in-vi --- nvim/.config/nvim/lua/plugins.lua | 5 ----- nvim/.config/nvim/plugin/ansiesc.vim | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 nvim/.config/nvim/plugin/ansiesc.vim diff --git a/nvim/.config/nvim/lua/plugins.lua b/nvim/.config/nvim/lua/plugins.lua index c7cd4e3..003ae3e 100644 --- a/nvim/.config/nvim/lua/plugins.lua +++ b/nvim/.config/nvim/lua/plugins.lua @@ -131,11 +131,6 @@ local init = function () use { 'chentau/marks.nvim', } - -- For files with ANSI escape sequences - use { - 'powerman/vim-plugin-AnsiEsc', - cmd = 'AnsiEsc' - } end return require('packer').startup(init) diff --git a/nvim/.config/nvim/plugin/ansiesc.vim b/nvim/.config/nvim/plugin/ansiesc.vim new file mode 100644 index 0000000..009b0c4 --- /dev/null +++ b/nvim/.config/nvim/plugin/ansiesc.vim @@ -0,0 +1,16 @@ +function! DeleteAnsiColorCodes() + set modifiable + set noconfirm + " Clean ascii/ansi code (starts with ^[) + silent! %s/\e\[[0-9:;]*m//g + silent! %s/[^[:alnum:][:punct:][:space:]]//g + silent! %s/\e\[[^\s]*\s//g + " Remove empty spaces from end + silent! %s/\s*$// + let @/ = "" + set rnu + " Map q to force quit + cnoremap q q! +endfunction + +command! AnsiEsc call DeleteAnsiColorCodes()