add nvim table mode

This commit is contained in:
Christoph J. Scherr 2023-07-03 10:37:41 +02:00
parent 15eb3aadab
commit e453870dee
Signed by: cscherrNT
GPG Key ID: 8E2B45BC51A27EA7
2 changed files with 20 additions and 2 deletions

View File

@ -19,7 +19,8 @@ set completeopt=menuone,noinsert,noselect
" Set completeopt to have a better completion experience"
set completeopt=menuone,noinsert,noselect
" load nvim-tree stuff
" load plugins from extra files
runtime nvim-tree.vim
call plug#begin()
@ -35,6 +36,7 @@ Plug 'numToStr/FTerm.nvim' " floating terminal, toggle with <F11>
Plug 'kdheepak/lazygit.nvim'
Plug 'nvim-lualine/lualine.nvim' " nicer status line
Plug 'goolord/alpha-nvim'
Plug 'dhruvasagar/vim-table-mode'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app && yarn install' }
@ -45,6 +47,8 @@ runtime markdownpreview.vim
call plug#end()
" load plugins from extra files
runtime nvim-table-mode.vim
" no default mappings for vim smoothie (fancy scrolling)
let g:smoothie_no_default_mappings = 1
@ -132,7 +136,6 @@ inoremap <expr> <S-Tab> coc#pum#visible() ? coc#pum#prev(1) : "\<S-Tab>"
" slime (sends stuff to other programs, like ipython)
let g:slime_target = "neovim"
"------------------------------------------------------
lua << END
require('alpha').setup(require('alpha.themes.startify').config)

View File

@ -0,0 +1,15 @@
" Tip: You can use the following to quickly enable / disable table mode in insert mode by using || or __:
function! s:isAtStartOfLine(mapping)
let text_before_cursor = getline('.')[0 : col('.')-1]
let mapping_pattern = '\V' . escape(a:mapping, '\')
let comment_pattern = '\V' . escape(substitute(&l:commentstring, '%s.*$', '', ''), '\')
return (text_before_cursor =~? '^' . ('\v(' . comment_pattern . '\v)?') . '\s*\v' . mapping_pattern . '\v$')
endfunction
inoreabbrev <expr> <bar><bar>
\ <SID>isAtStartOfLine('\|\|') ?
\ '<c-o>:TableModeEnable<cr><bar><space><bar><left><left>' : '<bar><bar>'
inoreabbrev <expr> __
\ <SID>isAtStartOfLine('__') ?
\ '<c-o>:silent! TableModeDisable<cr>' : '__'