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!


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)


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 string builtin which was introduced in v2.3
  • Using Fisher:

    fisher install laughedelic/pisces
  • Using oh-my-fish:

    omf install pisces

    Notice that you will need to restart fish to get this new installation working. This is specific to the way oh-my-fish handles installation.


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 1

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


♓️ Fish shell plugin that helps you to work with paired symbols in the command line

Pisces Info

⭐ Stars 223
🔗 Source Code github.com
🕒 Last Update 8 months ago
🕒 Created 6 years ago
🐞 Open Issues 7
➗ Star-Issue Ratio 32
😎 Author laughedelic