20 Home
shshemi edited this page 2026-09-06 11:36:16 +00:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Tabiew is a terminal-based tool for exploring, querying, and manipulating tabular data. It supports multiple file formats and provides viewing, filtering, SQL queries, type casting, and basic plotting for quick analysis. This Wiki guides you through Tabiew’s core features and workflows so you can integrate the tool into your data workflow.

The following CSV files are used throughout the Wiki:

  1. housing.csv: The housing price dataset.
  2. user.csv: A set of users with their properties generated by a Language Learning Model (LLM).
  3. company.csv: A set of companies with their properties generated by an LLM.
  4. employment.csv: A relation table between user and company, indicating when a user got employed by a company.

It is recommended that you take the time to look at each CSV file to grasp its structure and content.

Opening file(s)

To open a single file in Tabiew, simply use the following command:

tw <file_name>

Needless to say, that <file_name> should be replaced with the name of the file you wish to open. For instance, to open the housing price dataset file, use the following command:

tw housing.csv

This command will load the housing.csv file and display the following page:

image not found

As shown in the image, the tabular data is displayed in the main table, while the status bar at the bottom provides table properties such as name and shape.

Supported formats

In addition to CSV, Tabiew also supports various other formats, including TSV, Parquet, JSON, JSON-Line, Arrow, Avro, FWF, SQLite, Excel, HTML, Markdown, and Logfmt. For instance, to open a parquet file named sample.parquet, use the following command:

tw sample.parquet -f parquet

If no format is specified in the argument, Tabiew attempts to infer it based on the file extension. Logfmt has no extension of its own, so it always needs to be given explicitly:

tw app.log -f logfmt

Command Palette

Command palette is activated by pressing :. While in the command palette, you can type to search and filter available commands, navigate the filtered results with Arrow Up / Arrow Down or Ctrl+n / Ctrl+p, then press Enter to execute the selected command or Esc to return to the table.

image not found

Four of the commands have a shortcut in the palette. Typing q , s , o , or f , with the trailing space, skips the list and opens the query, select, order, or filter input directly.

Table Navigation

Use these key mappings to navigate through and better visualize your data:

Key Combination Action
k or Arrow Up or Ctrl+p Move up one row in the table
j or Arrow Down or Ctrl+n Move down one row in the table
h or Arrow Left Scroll table left
l or Arrow Right Scroll table right
b Scroll to the previous column
w Scroll to the next column
_ Scroll to the first column
$ Scroll to the last column
Page Up or Ctrl+b Move one page up
Page Down or Ctrl+f Move one page down
Ctrl+u Move up half a page
Ctrl+d Move down half a page
Home or g Move to the first row
End or G Move to the last row
R Move to a random row
e Switch between auto-fit and expanded columns

If you want to jump, you can jump to specific rows by typing the row number.

image not found

Sheet View

The sheet view allows a more detailed view of each row. You can open it by pressing the enter key. In sheet view, you can inspect the row's full contents.

image not found

When in sheet view, you can scroll up and down in the sheet using Shift+k or Shift+Arrow Up and Shift+j or Shift+Arrow Down.

Press f to switch the row between the default format and JSON. The JSON format keeps the type of each value, so numbers and booleans are not quoted, and nested values are printed as JSON arrays.

image not found

Press c to copy the row to the clipboard. The row is copied in whichever of the two formats is currently shown.

Press q or escape to close the sheet view.

Opening Multiple Files

If you enter multiple file names after the tw command, all files will open in different tabs. For instance, running the command

tw housing.csv user.csv

opens housing.csv and user.csv in separate tabs, allowing you to switch between them and view or compare the contents.

Alternatively, you can use a wildcard to open all CSV files in the directory:

tw *.csv

Tab Switcher

You can use H (Shift+h) to move to the previous tab and L (Shift+l) to move to the next tab. Alternatively, t opens the side panel to select from all open tabs.

image not found

Query

Tabiew allows you to query your data using SQL for powerful data manipulation and analysis. Query pop-up opens by running the Query command.

image not found

After the pop-up opens, type your SQL query into the input area.

image not found

Press enter to execute it. The result data frame will open in a new tab.

image not found

Schema

The Schema command displays all loaded tables in the SQL backend.

image not found

Table names are chosen based on their file names without the extension. For instance, the table name for housing.csv is housing. If multiple files have the same name, subsequent files will have _2, _3, and so on appended to their names.

image not found

To view the schema and meta information of a single data frame, press i while the data frame is focused. This displays detailed information about the columns, types, and other metadata for the data frame.

image not found

Registering Data Frames

To register the current data frame in the backend for later use, use the Register command.

image not found

The pop-up asks for the name that the data frame will be known by in the SQL backend. A name that is already taken is rejected, so pick one that is not in the schema yet.

image not found

Inline Query

Inline queries provide a convenient way to manipulate the current data frame. These queries are shorter versions of standard SQL executed on the displayed data frame. If you want to go back to the previous data frame (before running the query), press q.

There are three of them, and each one asks for the part of the statement that comes after the keyword:

Command You type Runs
Select price, area, bedrooms SELECT price, area, bedrooms
Filter price > 5000000 AND bedrooms >= 4 WHERE price > 5000000 AND bedrooms >= 4
Order price DESC ORDER BY price DESC

The Sort command is another name for Order. Each inline query pushes a new data frame, so you can run them one after another to build up a result, and press q to step back one at a time.

While typing, Tabiew suggests column names and keywords. Press Tab to accept a suggestion.

Importing

The Import command shows the importer pop-up which assists you though the process of importing a file into the SQL Backend.

image not found

At first, you need to choose the format of the file.

image not found

Then, where the data comes from. Beside a file, Tabiew can also read from the standard input or download the file from a URL.

image not found

If you choose a file, the next step asks for its path. The suggestion list below the input follows what you type, and Tab completes the highlighted entry.

image not found

The remaining steps depend on the format. For CSV, Tabiew asks whether the file has a header row, and then for the separator and the quote character.

image not found

Exporting

The Export command shows the exporter pop-up which assists you though the process of exporting the current data frame.

image not found

As with importing, the first step is the format.

image not found

After the format-specific steps, you choose where the result goes. You may write it to a file or copy it to the clipboard.

image not found

You can perform fast exact or fuzzy searches across all columns while in table view by pressing ?, for exact, or /, for fuzzy search, to enter the search. Typing in search filters the data frame. Press enter to apply the filter or rollback by pressing esc. After applying the filter, you may go back to the previous-to-search data frame by pressing q.

image not found

image not found

Column Type Casting

Tabiew allows you to cast the type of a column using the Cast command, which opens a pop-up to assist you in the casting process.

image not found

At first, you need to choose the column.

image not found

And then, the type to cast it to.

image not found

After a successful cast, you may press q to go back to the previous-to-cast data frame.

Editing in an External Editor

The Edit command opens the current data frame in the editor named by your $EDITOR environment variable.

image not found

The data frame is handed to the editor as text. Here it is opened in vi.

image not found

When you save and close the editor, the edited data is loaded back as a new data frame. If $EDITOR is not set, Tabiew reports an error instead.

Plotting

Tabiew can generate simple data visualizations from the current data frame. Press q or escape to close a plot and go back to the table.

Scatter Plot

Use the ScatterPlot command opens up a pop-up to assist you in building the scatter plot.

Scatter with group by

At first, you need to choose the X axis.

Scatter with group by

Then, the Y axis.

Scatter with group by

Additionally, you can choose the plot to be colored by a third column.

Scatter with group by

After these three steps, the scatter plot will be visualized:

Scatter with group by

Histogram

Use the Histogram command to open the histogram builder pop-up.

Scatter with group by

At first, you need to choose the column.

Scatter with group by

And then, the number of buckets.

Scatter with group by

To visualize the histogram.

Scatter with group by

If the buckets do not all fit on the screen, scroll through them with Shift+k or Shift+Arrow Up and Shift+j or Shift+Arrow Down.

Theme

Tabiew comes with more than 400 themes (inspired by the ghostty terminal). Use the ThemeSelector command to open the theme selector, where you can browse and preview themes live.

Scatter with group by

Press Enter to commit the highlighted theme or Esc to rollback to the previous theme.

Scatter with group by

Nerd Font Icons

Tabiew can draw icons in the status bar, the pickers, and the file browser using Nerd Font glyphs. This is turned off by default, because the glyphs show up as empty boxes in a font that has not been patched. Use the ToggleNerdFont command to turn them on.

image not found

With the icons turned on, the status bar and the pickers use glyphs instead of words.

image not found

And with them turned off, the same view falls back to plain text.

image not found

If you see empty boxes after turning the icons on, your terminal is not using a Nerd Font. Note that the Mono build of the font is the one you want, since the icons in the other builds are drawn double-width and push the table columns out of alignment.

Table Appearance

Two commands change how the table is drawn:

Command Action
ToggleBorders Show or hide the table borders
ToggleRowNumbers Show or hide the row number column

ToggleBorders hides the border around the table and the status bar.

image not found

ToggleRowNumbers hides the column of row numbers on the left.

image not found

The FloatingPointPrecision command sets how many decimals floating point numbers are displayed with. Choosing Unset leaves the numbers as they are.

image not found

Configuration

Tabiew keeps its settings in ~/.config/tabiew/config.toml. The file is written every time you change a setting from the command palette, so in most cases you do not need to edit it by hand.

theme = "Monokai"
show_table_borders = true
show_table_row_numbers = true
use_nerd_font = false
fp_precision = -1

[http]
https_only = false

fp_precision accepts -1, which leaves floating point numbers untouched, or a number of decimals. Every key is optional, and the ones you leave out fall back to the values above.

If you edit the file while Tabiew is running, the ReloadConfig command applies the changes without restarting.