cursewords is a "graphical" command line program for solving crossword puzzles in the terminal. You can use it to open, solve, and save puzzle files in the popular AcrossLite .puz format.
cursewords is only compatible with
python3, and can be installed through
pip. If you don't know what that means, the best command is probably:
pip3 install cursewords
You should then be ready to go. You can then use
cursewords to open
.puz files directly:
cursewords has been tested to work on Linux, Mac, and Windows computers.
Controls are printed in a panel at the bottom of the screen. Note that (for now)
cursewords is not very accommodating of changes in window size, so you may have to quit and re-open if you need to resize your terminal.
If you've used a program to solve crossword puzzles, navigation should be pretty intuitive.
shift+tab are the workhorses for navigation between blanks. Arrow keys will navigate the grid according to the direction of the cursor, and
shift+arrow will move through words perpendicular to the cursor.
page up and
page down (on Mac,
Fn+ up/down arrow keys) jump between words without considering blank spaces.
ctrl+g, followed by a number, will jump directly to the space with that number.
If you need some help,
ctrl+c will check the current square, word, or entire puzzle for errors, and
ctrl+r will reveal answers (subject to the same scoping options). To clear all entries on the puzzle, use
ctrl+x, and to reset the puzzle to its original state (resetting the timer and removing any stored information about hints and corrections), use
To open a puzzle in
downs-only mode, where only the down clues are visible, use the
--downs-only flag when opening the file on the command line.
cursewords is not running in an interactive terminal (because its output is being piped to another command or redirected to a file) or if you pass the
--blankensures the grid is unfilled, even if you've saved solving progress
--solutionprints the filled grid
--width INTcaps the program output at INT characters wide. (If this flag isn't passed at runtime,
cursewordswill attempt to pick a reasonable output size. In many cases that will be 92 characters or the width of the puzzle.)