laughedelic/pisces
{ "createdAt": "2016-05-09T20:38:47Z", "defaultBranch": "master", "description": "♓️ Fish shell plugin that helps you to work with paired symbols in the command line", "fullName": "laughedelic/pisces", "homepage": "", "language": "Shell", "name": "pisces", "pushedAt": "2020-11-30T02:30:19Z", "stargazersCount": 291, "topics": [ "fish", "fish-packages", "fish-plugin", "fish-plugins", "fish-shell", "fisher", "fishshell", "keybindings", "oh-my-fish", "oh-my-fish-plugin", "paired-symbols", "plugin" ], "updatedAt": "2025-11-22T09:52:27Z", "url": "https://github.com/laughedelic/pisces"}pisces ['paɪsiz] is a plugin for fish that helps you to work with paired symbols like () and '' in the command line. Similar to your favorite text editor!
Features
Section titled “Features”Here | denotes the current cursor position. No manual cursor motion involved :sparkles:
- autocloses pair symbol:
... |+ ( ⇒... (|) - skips the closing symbol:
...|)+ ) ⇒... )| - removes empty pairs:
...([|])+ backspace ⇒...(|)+ backspace ⇒...| - the set of pairs is configurable (see below)
Installation
Section titled “Installation”Notes on fish 2.x compatibility
The minimum recommended version of fish is v2.6, because
- it has a feature called bracketed (a.k.a safe) paste which solves the problem with pasting strings containing paired symbols (they get autoclosed), see #6 for details.
The minimum required version of fish is v2.3, because
- there was a bug #2210 in v2.2 which would brake quotes handling
- it uses
stringbuiltin which was introduced in v2.3
-
Using Fisher:
fisher install laughedelic/pisces -
Using oh-my-fish:
omf install piscesNotice that you will need to restart fish to get this new installation working. This is specific to the way oh-my-fish handles installation.
Configuration
Section titled “Configuration”Only completing at the end of the line
Section titled “Only completing at the end of the line”To disable completing pairs unless the cursor is at the end of the line, set the $pisces_only_insert_at_eol variable:
set -U pisces_only_insert_at_eol 1Changing the set of pairs
Section titled “Changing the set of pairs”You can set the $pisces_pairs universal variable and launch a new fish session to reload key bindings:
set -U pisces_pairs $pisces_pairs '<,>' '`,`' '«,»'Note that at the moment pisces works correctly only with single-symbol delimiters.
The default set of pairs:
(,)parenthesis[,]brackets{,}braces","double quotes','single quotes