A simple (for now?) markdown table editor that formats the table as you type.
https://github.com/user-attachments/assets/b026dc0b-4f10-48cc-81cb-3edf0f3e7772
Using lazy.nvim
{
'SCJangra/table-nvim',
ft = 'markdown',
opts = {},
}
{
padd_column_separators = true, -- Insert a space around column separators.
mappings = { -- next and prev work in Normal and Insert mode. All other mappings work in Normal mode.
next = '<TAB>', -- Go to next cell.
prev = '<S-TAB>', -- Go to previous cell.
insert_row_up = '<A-k>', -- Insert a row above the current row.
insert_row_down = '<A-j>', -- Insert a row below the current row.
move_row_up = '<A-S-k>', -- Move the current row up.
move_row_down = '<A-S-j>', -- Move the current row down.
insert_column_left = '<A-h>', -- Insert a column to the left of current column.
insert_column_right = '<A-l>', -- Insert a column to the right of current column.
move_column_left = '<A-S-h>', -- Move the current column to the left.
move_column_right = '<A-S-l>', -- Move the current column to the right.
insert_table = '<A-t>', -- Insert a new table.
insert_table_alt = '<A-S-t>', -- Insert a new table that is not surrounded by pipes.
delete_column = '<A-d>', -- Delete the column under cursor.
}
}
Just set the respective keymap option to false to disable it. You can also
set the mappings table to false to disable all keymaps. After that, you can
set the keymaps manually as needed. Look at this
file to see how keymaps are set by default.