Skip to content

Settings Reference


Auto-Detect Delimiter

Default: True (enabled)
Scope: Global
Command: Toggle Auto-Detect Delimiter

When enabled, the program will auto-detect the delimiter of new files opened in the program.

Keep in mind this setting is overridden by the File Extension Options file. If it's not auto-detecting delimiters when you expect it to, check that file first and make sure that extension isn't set to a specific delimiter. You can either set the delimiter to (auto) or delete the row from the file.


Auto-Fit Column Width

Default: True (enabled)
Scope: Table
Command: Toggle Auto-Fit Column Width

When enabled, this setting will ensure that each column is only as wide as the widest cell and no wider. However, it is limited by the Maximum Column Width for Auto-Fit setting. If that setting is 800 (which is the default value), then no column can be wider than 800 pixels. Without that limitation, a single rogue cell with 5,000 characters could cause the entire column to take up several screens worth of width and necessitate excessive scrolling.

For performance reasons, this setting is not recommended for files with many columns (i.e. more than a few thousand).


Auto-Fit Row Height

Default: False (disabled)
Scope: Table
Command: Toggle Auto-Fit Row Height

When enabled, this setting will ensure that each row is only as tall as the tallest cell and no taller. However, it is limited by the Maximum Row Height for Auto-Fit setting. If that setting is 240 (which is the default value), then no row can be taller than 240 pixels. Without that limitation, a single rogue cell with dozens of newlines could cause the entire row to take up several screens worth of width and necessitate excessive scrolling.

For performance reasons, this setting is not recommended for files with many rows (i.e. more than a few thousand).


Behavior When File Is Changed Externally

Default: refresh
Scope: Global
Command: Set Behavior When File Is Changed Externally

If you have a file open in Modern CSV and another program or process saves it, this setting determines how the program reacts to that save. refresh: It'll simply reload the file to show the changes. ask: It'll ask you whether you want it to reload the file or ignore the changes. ignore: It'll ignore the changes.

Auto-Fit Row Height


Default Column Width

Default: 80
Scope: Global
Command: Set Default Column Width

This is the width of empty columns in pixels. If Auto-Fit Column Width is enabled, a column's width will change to accomodate the new data. If disabled, the columns will stay at this width regardless of any editing until you manually change the width. You can change the width by manually dragging the column label to a new width or by using the Set Selected Column Widths command.


Default Row Height

Default: 24
Scope: Global
Command: Set Default Row Height

This is the height of empty rows in pixels. If Auto-Fit Row Height is enabled, a row's height will change to accomodate the new data. If disabled, the rows will stay at this height regardless of any editing until you manually change the height. You can change the height by manually dragging the row label to a new height or by using the Set Selected Row heights command.


First Column Index

Default: 0
Scope: Global
Command: Set First Column Index

This determines where the column labels start counting.

First Column Index


First Row Index

Default: 0
Scope: Global
Command: Set First Row Index

This determines where the row labels start counting. Because most CSV files have a single row for the header, when this setting is 0 (the default), the first record of data starts at row 1. If you're on row 25, you know that's the 25th row of data.

Some CSV files have several rows of meta-data before the records start. You can set this to a negative value so the first record starts at 1.

First Row Index


Font


Default: Verdana
Scope: Global
Command: Set Font

The font of the data in the table. To change this, it's best to use the Set Font command. That will give you a list of choices and it will automatically write your choice to the Settings file.


Freeze Header Columns

Default: False (disabled)
Scope: Table
Command: Toggle Freeze Header Columns

If you have records with a lot of columns and you want the first few to always be visible, you can freeze them with this setting.

The Number of Header Columns
setting must be greater than 0 to freeze any header rows. That setting is 0 by default, so you must change it either by calling the Set Number of Header Columns or Set Header Columns to Selected Column commands or right-clicking on a row and selecting the Set Header Columns to Selected Column option.

Freeze Header Columns


Freeze Header Rows

Default: False (disabled)
Scope: Table
Command: Toggle Freeze Header Rows

If you want the header row (or rows) to always be visible when you scroll down a file, this setting allows that to happen.

The Number of Header Rows
setting must be greater than 0 to freeze any header rows (by default it's 1).

Freeze Header Rows


Highlight Header Columns

Default: True (enabled)
Scope: Table
Command: Toggle Highlight Header Columns

When enabled, frozen columns have their text bolded and their backgrounds' colors are changed to make it visually obvious they are the header columns.


Highlight Header Rows

Default: True (enabled)
Scope: Table
Command: Toggle Highlight Header Rows

When enabled, frozen rows have their text bolded and their backgrounds' colors are changed to make it visually obvious they are the header rows.


Highlight Main Selected Cell's Row and Column

Default: False (disabled)
Scope: Global
Command: Toggle Highlight Main Selected Cell's Row and Column

When only a single cell is selected, this setting puts a subtle highlight on its entire row and column to make it easy to see which row and column are selected.

Highlight Main Selected Cell's Row and Column


Let Editor Pane Consume Navigation Keystrokes

Default: True (enabled)
Scope: Global
Command: Toggle Let Editor Pane Consume Navigation Keystrokes

The Editor Pane is useful for long fields or fields with newline characters. This setting allows you to edit a cell in the Editor Pane without having to worry about exiting the cell when pressing Enter or Tab. There are several ways to stop editing:

  • Hit esc.
  • Hit ctrl+e (or whatever the shortcut for Stop Editing is).
  • Hit alt+i/k/j/l (or whatever the shortcut for Move Selection Up/Down/Left/Right is.
  • Click on another cell.
  • Hit esc.
  • Hit cmd+e (or whatever the shortcut for Stop Editing is).
  • Hit alt+i/k/j/l (or whatever the shortcut for Move Selection Up/Down/Left/Right is.
  • Click on another cell.

When disabled, it behaves the same as when the Editor Pane is hidden: tab and enter both stop editing while tab moves the selected cell to the next column and enter moves it to the next row.

Let Editor Pane Consume Navigation Keystrokes


Maximum Column Width for Auto-Fit

Default: 800
Scope: Table
Command: Set Maximum Column Width for Auto-Fit

When the Auto-Fit Column Width
setting is enabled, this setting limits how wide it can make a column. If a single cell in a column has thousands of characters, this setting prevents that column from being excessively wide.

The units are pixels.


Maximum Row Height for Auto-Fit

Default: 240
Scope: Table
Command: Set Maximum Row Height for Auto-Fit

When the Auto-Fit Row Height
setting is enabled, this setting limits how tall it can make a row. If a single cell in a row has a lot of newlines, this setting prevents that row from being excessively tall.

The units are pixels.


Minimum File Size to Ask About Opening in Read-Only Mode (MB)

Default: 100
Scope: Global
Command: Set Minimum File Size for Read-Only Mode Query (MB)

When opening large files, it will ask you if you want to open in read-only mode. This setting allows you to define how large.

Minimum File Size to Ask About Opening in Read-Only Mode (MB)


Minimum Number of Table Columns

Default: 50
Scope: Global
Command: Set Minimum Number of Table Columns

This is the minimum number of columns that will display, even if there is no data.

Minimum Number of Table Columns


Minimum Number of Table Rows

Default: 50
Scope: Global
Command: Set Minimum Number of Table Rows

This is the minimum number of rows that will display, even if there is no data.

Minimum Number of Table Rows


Number of Buffer Columns

Default: 2
Scope: Global
Command: Set Number of Buffer Columns

This is the number of columns beyond the data that will display. This doesn't apply if the number of data columns + Number of Buffer Columns is less than Minimum Number of Table Columns.

Number of Buffer Columns


Number of Buffer Rows

Default: 2
Scope: Global
Command: Set Number of Buffer Rows

This is the number of rows beyond the data that will display. This doesn't apply if the number of data rows + Number of Buffer Rows is less than Minimum Number of Table Rows.

Number of Buffer Rows


Number of Header Columns

Default: 0
Scope: Table
Command: Set Number of Header Columns

This is the number of header columns. Header columns can be bolded to make them visually obvious using the Highlight Header Columns setting. They can be frozen so they always appear wherever you scroll using the Freeze Header Columns command. They are also excluded from sort and filter operations. That way, if you sort a row, you don't have to worry about the header columns being sorted too. If you filter a row, you don't have to worry about the header columns disappearing.

Number of Header Columns


Number of Header Rows

Default: 1
Scope: Table
Command: Set Number of Header Rows

This is the number of header rows. Header rows can be bolded to make them visually obvious using the Highlight Header Rows setting. They can be frozen so they always appear wherever you scroll using the Freeze Header Rows command. They are also excluded from sort and filter operations. That way, if you sort a row, you don't have to worry about the header rows being sorted too. If you filter a row, you don't have to worry about the header rows disappearing.

Number of Header Rows


Read-Only

Default: False (disabled)
Scope: Table
Command: Toggle Read-Only

Opens all files in read-only mode. Read-Only mode is useful for large files and files you don't want to accidentally edit. Rather than loading the file into memory, the program indexes it and then reads it from disk whenever it needs data. You can still sort and filter in read-only mode. Filter, sort, and find operations are slower than edit mode. However, its memory footprint is a fraction of the file size, it loads files much faster than edit mode, and scrolling is indistinguishable from edit mode.


Represent Columns as Letters

Default: False (disabled)
Scope: Global
Command: Toggle Represent Columns as Letters

When enabled, the column labels at the top of the table will display as letters (A, B, ..., Z, AA, AB, AC, etc.) instead of numbers. The first column will always be A and the First Column Index setting will be ignored.

Represent Columns as Letters


Retain Sort and Filters Upon File Refresh

Default: True (enabled)
Scope: Global
Command: Toggle Retain Sort and Filters Upon File Refresh

When a file is open in Modern CSV and another program or process saves it, it's possible to "refresh" the file in Modern CSV so the changes show immediately (see Behavior When File Is Changed Externally). If you had a column or row filtered or sorted before the refresh, this setting will cause it to apply the same sort or filter after the refresh. This could be useful if you're viewing a log file that is occasionally being refreshed.


Save After Each Edit

Default: False (disabled)
Scope: Global
Command: Toggle Save After Each Edit

There are some programs that use CSV or other tabular files as configuration files. For such programs, it can be useful to save after each edit and see the change in the program. This setting enables that.


Shade Every Other Column

Default: False (disabled)
Scope: Global
Command: Toggle Shade Every Other Column

This setting makes it visually easier to distinguish columns. You can use it in conjunction with the Shade Every Other Row setting.

Shade Every Other Column


Shade Every Other Row

Default: False (disabled)
Scope: Global
Command: Toggle Shade Every Other Row

This setting makes it visually easier to distinguish rows. You can use it in conjunction with the Shade Every Other Column setting.

Shade Every Other Row


Show Column Labels

Default: True (enabled)
Scope: Global
Command: Toggle Show Column Labels

For a more minimalist appearance, this setting will hide the column labels.

Show Column Labels


Show Row Labels

Default: True (enabled)
Scope: Global
Command: Toggle Show Row Labels

For a more minimalist appearance, this setting will hide the row labels.

Show Row Labels


Text Size

Default: 12
Scope: Global
Command: Set Text Size

Sets the point size of the data text.

Text Size


Theme

Default: dark
Scope: Global
Command: Set Theme

Sets the colors of the whole program.

Light theme:
Light Theme

Dark theme:
Dark Theme

Dracula theme:
Dark Theme

Solarized Dark theme:
Dark Theme

Solarized Light theme:
Dark Theme