Basics
Calling Commands
There are four ways to call commands:
Command launcher

ctrl+l or ctrl+shift+p
cmd+l or cmd+shift+p
The command launcher allows you to quickly call commands by just typing. It uses fuzzy search, so your typing doesn't have to be especially accurate.
For commands with keyboard shortcuts, it tells you the shortcut on the right side. For commands that involve settings, it also tells you the current setting on the right side.
Menu bar

The menu bar at the top of the window contains almost all commands.
Keyboard shortcuts
Most commands you'll use on a regular basis have keyboard shortcuts. You can find out what these are by perusing the command launcher or the menu bar. You can also change them with the Edit Keyboard Shortcuts command.
Right-click

Right-clicking on the table will bring up some helpful commands.
Files
Opening files
ctrl+o will pull up an open file dialog.
cmd+o will pull up an open file dialog.
You can also drag and drop a file or multiple files from the file system.
To open a list of recent files, call the Open Recent File command.
ctrl+p or ctrl+t will allow you to open any file by typing its name if it's inside a folder that you've opened in the program (more here). This is the easiest way since it uses fuzzy search.
cmd+p or cmd+t will allow you to open any file by typing its name if it's inside a folder that you've opened in the program (more here). This is the easiest way since it uses fuzzy search.

Closing files
ctrl+w closes the current file.
cmd+w closes the current file.
You can also click the middle mouse button on the tab in the tab bar.
Or you can right-click on the tab or the file in the sidebar and select the Close File option.
Close All Files closes all the open files.
Saving files
ctrl+s saves the current files.
ctrl+alt+s saves the file as a different name.
ctrl+shift+s saves all the open files.
Save Visible Data As saves the data as currently shown in the table into a separate file. This is useful if you have data hidden or filtered out and want to save it off. It will not overwrite the current file.
cmd+s saves the current files.
cmd+alt+s saves the file as a different name.
cmd+shift+s saves all the open files.
Save Visible Data As saves the data as currently shown in the table into a separate file. This is useful if you have data hidden or filtered out and want to save it off. It will not overwrite the current file.
Reloading files
If you want to do away with unsaved changes and reload from disk, you can use the Reload File command. If you realize that a file was open with the wrong parameters (i.e. delimiter, line ending, character encoding, or parsing standard. See more here.), you can change them with the Reload File with Different Parameters command. You can also reload the file with a single different parameter using the following commands:
Reload File with DelimiterReload File with Character EncodingReload File with Parsing Standard
Importing and exporting files
Modern CSV can import and export JSON and XML files. More file types will be added in the future.
Importing

Import from JSON or XML
When importing, it looks for repeating patterns and places them in table form for more compact editing. The Preserve Original File Structure option will yield a file that may look a bit more awkward, but will allow you to export back to JSON or XML without losing any information or the file structure.
Exporting

Export to JSON or XML
As mentioned previously, if you export a file that had been imported with the Preserve Original File Structure option set, the exported version will have the same file structure.
File commands for convenience (Premium)
Duplicate FileMove FileRename FileDelete FileShow File in File SystemOpen Terminal to File's DirectoryOpen File in Text EditorCopy File Path to ClipboardCopy File Name to ClipboardCopy Folder Path to Clipboard
Folders
When you open a folder, all of its files are available to open via the Go to File command, invoked by ctrl+p or ctrl+t.
When you open a folder, all of its files are available to open via the Go to File command, invoked by cmd+p or cmd+t.
Opening folders
ctrl+alt+o will pull up an open folders dialog.
You can also drag and drop a folder or multiple folders from the file system.
cmd+alt+o will pull up an open folders dialog.
You can also drag and drop a folder or multiple folders from the file system.
Closing folders
ctrl+alt+w will open a dialog to allow you to select which folder to close if more than one is open. If only one is open, it will close that one without a dialog.
cmd+alt+w will open a dialog to allow you to select which folder to close if more than one is open. If only one is open, it will close that one without a dialog.
Navigation
There are two navigation commands:
Go to file
ctrl+p or ctrl+t
Only files that are already open or that are in a folder that's open will show up in the list. To open a file not on the list, you can either open its folder or use ctrl+o.
cmd+p or cmd+t
Only files that are already open or that are in a folder that's open will show up in the list. To open a file not on the list, you can either open its folder or use ctrl+o.
Go to cell

ctrl+g
cmd+g
More specific instructions pop up with the command itself.
Standard Editing Tools
Modern CSV does the standard copy, cut, and paste commands (ctrl+c, ctrl+x, and ctrl+v). It also has undo and redo for most commands (ctrl+z and ctrl+y).
Modern CSV does the standard copy, cut, and paste commands (cmd+c, cmd+x, and cmd+v). It also has undo and redo for most commands (cmd+z and cmd+y).
The Copy Cell(s) with Header command will include each column's header name when copying. The header name is on the last header row. See more about headers here.
Selecting Cells
Selecting a single cell
Click on a cell.
Use the arrow keys to move the selection to a cell.
alt+i, alt+j, alt+k, and alt+l- Use these to spare the 200 ms it takes to move your wrist to the arrow keys (it adds up).
ctrl+g or Go To Cell. It'll tell you what to do from there.
cmd+g or Go To Cell. It'll tell you what to do from there.
Selecting multiple cells
left-click and drag.
ctrl+left-click on a cell that's not already selected.
shift+arrow to add one cell to the selection.
ctrl+shift+arrow to select over to the next block edge.
ctrl+shift+r to select the whole row.
ctrl+shift+c to select the whole column.
ctrl+shift+t or ctrl+a to select the whole table.
left-click on the row or column label.
left-click on the top left corner button between the row and column labels.
ctrl+shift+home to select up to the top of the column. It won't select the header.
ctrl+shift+end to select down to the bottom of the column.
shift+home to select left to the start of the row. It won't select the header.
shift+end to select right to the end of the row.
left-click and drag.
cmd+left-click on a cell that's not already selected.
shift+arrow to add one cell to the selection.
cmd+shift+arrow to select over to the next block edge.
cmd+shift+r to select the whole row.
cmd+shift+c to select the whole column.
cmd+shift+t or cmd+a to select the whole table.
left-click on the row or column label.
left-click on the top left corner button between the row and column labels.
cmd+shift+home to select up to the top of the column. It won't select the header.
cmd+shift+end to select down to the bottom of the column.
shift+home to select left to the start of the row. It won't select the header.
shift+end to select right to the end of the row.
Once you select multiple cells, you can move them around just like single cells (i.e. arrows or alt+[i|j|k|l]). Most commands work on multiple cells.
Selecting find results
ctrl+d selects the next Find result.
alt+f3 selects all the Find results.
cmd+d selects the next Find result.
alt+f3 selects all the Find results.
Inverting the selection

Invert Selection by Rows (Header Excluded)
Invert Selection by Columns (Header Excluded)
Selecting duplicates
Select Duplicate Row(s)
Select Duplicate Column(s)
Select Duplicate Rows (Based on Selected Columns Only)
Select Duplicate Columns (Based on Selected Rows Only)
These commands select the same rows and columns as the Remove Duplicate commands would remove. That is, it doesn't select the first of the duplicates. For instance, if the same row appears three times in the file, the Select Duplicate Row(s) command only selects the last two.
Nomenclature

The orange cell is the main selected cell or main cell. The yellow cells are the secondary selected cells.
Editing Cells

There are numerous ways to edit cells:
- Overwrite currently selected cells.
- Edit selected cell without overwriting.
- Fill selected cells with series.
- Prepend or Append to multiple cells.
Additionally, you can either edit directly in the cell or use the Editor Pane.
Overwrite currently selected cells

Just start typing. This works with multiple cells selected.
Edit selected cell without overwriting

ctrl+e, f2', orEdit Selected Cell`
cmd+e, f2', orEdit Selected Cell`
This only works when one cell is selected.
Fill selected cells with series

ctrl+alt+n or Fill Selected Cells with Series
cmd+alt+n or Fill Selected Cells with Series
This is useful for, say, incrementing numbers. Further instructions will show up with the command.
Prepend or append to multiple cells

Prepend Cell Contents
Append Cell Contents
If you have multiple cells selected, it will ask you whether you want to add the same text to each cell or add a series of differing values.
Editor pane

ctrl+k,ctrl+e
cmd+shift+e
With the Editor Pane, you can see more clearly the cell contents. Unlike the direct cell editor, you can also insert new lines with enter and tab characters with tab. enter and tab are normally used to navigate across cells. If you want them to still behave that way even while editing in the Editor Pane, just disable the Let Editor Pane Consume Navigation Keystrokes command in the Settings.
Headers
Modern CSV allows you to define header rows and/or columns for your data. It's typical to have the first row of a CSV be the data labels and the rest be the actual data. For that reason, there is one header row by default. However, you can set as many header rows and columns as you want.
Headers are used for the following purposes:
- Highlight them so they stand out (or not).
- Freeze them so they're always visible (or not).
- Separate them from the data so they're not effected by sort and filter operations.
Setting number of header rows or columns
Set Number of Header [Rows|Columns] (Menu, Command Launcher)
Set Headers to Selected Cell (Menu, Command Launcher or right-click menu)
Set Header [Rows|Columns] to Selected [Row|Column] (Menu, Command Launcher or right-click menu)
In the menu, they're found under View->Headers.
These commands will change it only for the table you're currently working on. To change it for all tables, currently opened or new, change it in the Settings file under Number of Header [Rows|Columns].
Highlighting or unhighlighting header rows and columns

Toggle Highlight Header [Rows|Columns]
Freezing or unfreezing header rows and columns

Toggle Freeze Header Rows and Columns
Toggle Freeze Header [Rows|Columns]
Read-Only Mode

Toggle Read-Only
Set Minimum File Size for Read-Only Mode Query (MB)
Some files are very large and you may want to simply view them without having to wait minutes or use up all of your computer's memory. In such cases, you can open the files in read-only mode. It loads more quickly than edit mode (which already is pretty quick) and uses very little memory.
Though you can't edit the data, you can sort and filter it. You can't save the file, but you can save the result of the sorting and filtering to a new file by using the Save Visible Data As command. This command also works in edit mode.
Note that Modern CSV can handle up to two billion rows or columns (Technically it's 2,147,483,647. It's a signed 32-bit thing).
Relatively small files are opened in Edit mode by default. If you try to open a large file (> 100 MB by default), a pop-up window will ask if you want to load it in read-only mode. You can change the file size that will cause this pop up with the Minimum File Size for Read-Only Mode Query (MB).
The Toggle Read-Only command allows you to switch an already open file back and forth between edit and read-only modes. It closes the file and reload it from scratch in its new mode. If there are unsaved edits, it will ask if you want to save them first.
File Parameters
The file parameters are:
When opening a file, the program needs to know these parameters to parse it correctly (Line endings is an exception. It'll parse a file regardless of line endings). Using the File Extension Options file, you can tell it how to load files. See more here.
Additionally, if you load a file and realize it loaded incorrectly, you can reload it with different parameters using the File Metadata command. Set the parameters as you wish under Load Parameters and click the Reload File button. You can also change the parameters it saves with by setting them under Save Parameters. You can either save right away by clicking the Save File button or save it later from the main window. Either way, the parameters will apply to the next file save.

Delimiters
It will automatically detect the delimiter unless a specific delimiter is specified in the File Extension Options file. Only single characters are allowed. You may also specify no delimiter by setting "(none)" in the File Metadata window or in the File Extension Options file. In that case, the whole file will show in the first column.
Character encodings
By default, it assumes files are UTF-8 unless otherwise specified in the File Extension Options file. The allowed character encodings are listed below.
- UTF-8
- UTF-16
- UTF-16BE
- UTF-16LE
- UTF-32
- UTF-32LE
- UTF-32BE
- ISO 8859-1 (Western European)
- ISO 8859-2 (Central European)
- ISO 8859-3 (South European)
- ISO 8859-4 (North European)
- ISO 8859-5 (Latin/Cyrillic)
- ISO 8859-6 (Latin/Arabic)
- ISO 8859-7 (Latin/Green)
- ISO 8859-8 (Latin/Hebrew)
- ISO 8859-9 (Turkish)
- ISO 8859-10 (Nordic)
- ISO 8859-13 (Baltic Rim)
- ISO 8859-14 (Celtic)
- ISO 8859-15 (Latin-9)
- ISO 8859-16 (South-Eastern European)
- Windows-1250 (Central European)
- Windows-1251 (Cyrillic)
- Windows-1252 (Western European, ANSI)
- Windows-1253 (Greek)
- Windows-1254 (Turkish)
- Windows-1255 (Hebrew)
- Windows-1256 (Arabic)
- Windows-1257 (Baltic)
- Windows-1258 (Vietnamese)
- Windows-949 (Korean)
- EUC-KR (Korean)
- EUC-JP (Japanese)
- ISO 2022-JP (Japanese)
- Shift-JIS (Japanese)
- Big5 (Chinese)
- Big5-HKSCS (Chinese)
- GB 18030 (Chinese)
- KOI8-U (Ukrainian)
- KOI8-R (Russian)
Line endings
Modern CSV will correcly parse a file regardless of which line ending characters it uses, even if it contains both line endings (CRLF and LF). You can set the line ending it uses when it saves the file. By default, for Windows systems, it says with CRLF and for Mac and Linux systems, it saves with LF. For all files, this can be set in the File Extension Options file. For the current file, it can be set in the File Metadata window.
Parsing standards
The Parsing Standard paramater determines how it handles cells that contain the delimiter or newline character. There are three parsing standards:
RFC 4180
The RFC 4180 standard is the default. It allows cells that contain the delimiter or the line ending characters. In a nutshell, cells that contain the delimiter, the newline character, or double quote characters will be surrounded by double quotes. Furthermore, double quotes within the cell will be duplicated. For instance, a cell with the following text:
This cell contains "double quotes", commas, and an EOL character.
will be saved in the file as:
"This cell contains ""double quotes"", commas, and an EOL character."
If Modern CSV opens a file using the RFC 4180 standard and it has not been formatted properly, the behavior is undefined.
Delimiter Only
The Delimiter Only standard treats all delimiter characters as delimiters and all newline characters as the start of a new row. It does not allow cells to contain delimiters or line break characters.
All Quotes
The All Quotes standard places double quotes around every single cell, regardless of whether they contain the delimiter or newline characters. It handles double quote characters inside the cell the same as RFC 4180 - by duplicating them.
Sparse Quotes
The All Quotes standard reads files the same as RFC 4180. In saving files, it only surrounds cells with double quotes if there's a delimiter or newline, not if there's a double quote character in the cell.
ASCII Separated Values
The ASCII standard contains two useful characters for making delimited files – the ASCII Unit Separator (0x1F) and Record Separator (0x1E). These characters have been mostly ignored in favor of commas, semicolons, vertical bars, etc. for unit separators and newlines (0x0A or 0x0D0A aka CR or CRLF) for record separators. Dealing with cells containing these characters can be complicated. For simplicity, some systems use these ASCII characters. This parsing standarding enables Modern CSV to correctly parse and save such files. This is a subset of the Unicode Separated Values (USV)™ standard (https://github.com/SixArm/usv). Modern CSV does not support full USV yet, but it may in the future.