Table of contents
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:
- housing.csv: The housing price dataset.
- user.csv: A set of users with their properties generated by a Language Learning Model (LLM).
- company.csv: A set of companies with their properties generated by an LLM.
- 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:
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.
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.
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.
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.
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.
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.
After the pop-up opens, type your SQL query into the input area.
Press enter to execute it. The result data frame will open in a new tab.
Schema
The Schema command displays all loaded tables in the SQL backend.
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.
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.
Registering Data Frames
To register the current data frame in the backend for later use, use the Register command.
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.
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.
At first, you need to choose the format of the file.
Then, where the data comes from. Beside a file, Tabiew can also read from the standard input or download the file from a URL.
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.
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.
Exporting
The Export command shows the exporter pop-up which assists you though the process of exporting the current data frame.
As with importing, the first step is the format.
After the format-specific steps, you choose where the result goes. You may write it to a file or copy it to the clipboard.
Search
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.
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.
At first, you need to choose the column.
And then, the type to cast it to.
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.
The data frame is handed to the editor as text. Here it is opened in vi.
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.
At first, you need to choose the X axis.
Then, the Y axis.
Additionally, you can choose the plot to be colored by a third column.
After these three steps, the scatter plot will be visualized:
Histogram
Use the Histogram command to open the histogram builder pop-up.
At first, you need to choose the column.
And then, the number of buckets.
To visualize the histogram.
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.
Press Enter to commit the highlighted theme or Esc to rollback to the previous theme.
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.
With the icons turned on, the status bar and the pickers use glyphs instead of words.
And with them turned off, the same view falls back to plain text.
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.
ToggleRowNumbers hides the column of row numbers on the left.
The FloatingPointPrecision command sets how many decimals floating point numbers are displayed with. Choosing Unset leaves the numbers as they are.
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.













































