# I didn't know this! (Ctrl-S in the REPL)

**URL:** <https://discourse.julialang.org/t/i-didnt-know-this-ctrl-s-in-the-repl/140233>\
**Category:** General Usage\
**Tags:** repl\
**Created:** [October 25, 2026, 12:09pm UTC](https://discourse.julialang.org/t/i-didnt-know-this-ctrl-s-in-the-repl/140233 "2026-10-25T12:09:07Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![freeman](https://avatars.discourse-cdn.com/v4/letter/f/ec9cab/32.png) [@freeman](https://discourse.julialang.org/u/freeman)\
**Post date:** [October 25, 2026, 12:09pm UTC](https://discourse.julialang.org/t/i-didnt-know-this-ctrl-s-in-the-repl/140233/1 "2026-10-25T12:09:07Z")

</div>

Guys guys. Try pressing CTRL+S on the Repl…  
Julia 1.13.2

Nice feature, but perhaps not the best hotkey? CTRL+S is “save” everywhere else.

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [October 25, 2026, 12:56pm UTC](https://discourse.julialang.org/t/i-didnt-know-this-ctrl-s-in-the-repl/140233/2 "2026-10-25T12:56:47Z")

</div>

> [@freeman](#):
>
> CTRL+S is “save” everywhere else.

That’s not true: in Emacs, and all Emacs-inspired keybindings (like most shells, and REPLs, including ipython), Ctrl+S is, surprise, [the search functionality](https://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Isearch.html). So, in fact, Ctrl+S (and Ctrl+R) is a very standard keybinding for searching through the history.

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [October 25, 2026, 12:58pm UTC](https://discourse.julialang.org/t/i-didnt-know-this-ctrl-s-in-the-repl/140233/3 "2026-10-25T12:58:03Z")

</div>

I didn’t know that either! Very useful. 🙂

By the way, in BASH it is not used for search:

```julia-auto
Ctrl+S normally pauses terminal output (XOFF), rather than saving anything.

```

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [October 25, 2026, 4:44pm UTC](https://discourse.julialang.org/t/i-didnt-know-this-ctrl-s-in-the-repl/140233/4 "2026-10-25T16:44:42Z")

</div>

> [@ufechner7](#):
>
> By the way, in BASH it is not used for search:
> 
> ```julia-auto
> Ctrl+S normally pauses terminal output (XOFF), rather than saving anything.
> 
> ```

That’s not bash, but your terminal emulator overriding Ctrl+S. In bash, [Ctrl+S is by default the forward search in the shell history](https://www.gnu.org/software/bash/manual/html_node/Commands-For-History.html), precisely like Emacs (well, in Emacs the search is in the buffer, not the history, but the idea of reverse and forward search is the same).

---

<div class="post-metadata">

**Author:** ![colorfulcms](https://avatars.discourse-cdn.com/v4/letter/c/8491ac/32.png) [@colorfulcms](https://discourse.julialang.org/u/colorfulcms)\
**Post date:** [October 25, 2026, 9:53pm UTC](https://discourse.julialang.org/t/i-didnt-know-this-ctrl-s-in-the-repl/140233/5 "2026-10-25T21:53:10Z")

</div>

If Ctrl+S ends up freezing your terminal output instead of searching, that’s the XOFF flow control mentioned above. Running `stty -ixon` in your shell before starting Julia usually frees it up, and you can put it in your shell profile to make it permanent. Also handy: pressing Ctrl+R repeatedly cycles to older matches, and Ctrl+S goes back toward newer ones.

---

<div class="post-metadata">

**Author:** ![LeePhillips](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/leephillips/32/205514_2.png) [@LeePhillips](https://discourse.julialang.org/u/LeePhillips)\
**Post date:** [October 27, 2026, 2:49pm UTC](https://discourse.julialang.org/t/i-didnt-know-this-ctrl-s-in-the-repl/140233/6 "2026-10-27T14:49:12Z")

</div>

It’s “save” here, too, sort of: in both v1.13 and 1.14, `<C-s>` or `<C-r>` opens a history list. In the list `<C-r>` does nothing but `<C-s>` offers to save the selected item to a file or the clipboard. You can select an item by typing a string that it contains and then using the arrow keys.

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [October 27, 2026, 3:44pm UTC](https://discourse.julialang.org/t/i-didnt-know-this-ctrl-s-in-the-repl/140233/7 "2026-10-27T15:44:58Z")

</div>

A post was split to a new topic: [I didn’t know this! (pkg undo and redo)](https://discourse.julialang.org/t/i-didnt-know-this-pkg-undo-and-redo/140290)
