SCJangra/table-nvim

github github
programming-languages-supportmarkdown-and-latex
stars 70
issues 1
subscribers 1
forks 3
CREATED

UPDATED


A markdown table editor

A simple (for now?) markdown table editor that formats the table as you type.

Demo

https://github.com/user-attachments/assets/b026dc0b-4f10-48cc-81cb-3edf0f3e7772

Dependencies

Install

Using lazy.nvim

{
  'SCJangra/table-nvim',
  ft = 'markdown',
  opts = {},
}

Default config

{
  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.
  }
}

FAQ

How do I disable the keymaps?

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.