19

In vim, if I am in search mode by pressing /, I can press Ctrl+p to find my last searched string, and press that combination again to find an even earlier searched string, and so on. I can do the same on commandline in emacs mode.

I want to do the same with less command (i.e., press /, and then press Ctrl+p to find what I searched for previously, and then press Enter to search that term again. Can I do that? How can I do that?

Edit: reworded to make the question clearer.

James Brown
  • 36,089
  • 7
  • 43
  • 59
Rushi Agrawal
  • 3,208
  • 2
  • 21
  • 26
  • 1
    @JamesBrown I think the OP wants to navigate within a file backwards via a search string rather than view a list of previously entered search strings. `?` is the key to search backwards in less – Niall Cosgrove Nov 20 '18 at 09:14

2 Answers2

38

To browse less search history (~/.lesshst by default, man less and LESSHISTFILE for more):

  1. less a file, for example less ~/.lesshst
  2. type / or ? to search forward or backward or & to show only matching lines (/!, ?! or &! for non-matching)
  3. use up and down arrows and to browse the history, press Enter to choose one
  4. n repeats the search, N in reverse direction. To reset the screen after showing only the matching lines with &, type & followed by Enter.
James Brown
  • 36,089
  • 7
  • 43
  • 59
1

Use / to search forward. Use ? to search backward.

Use n for the next occurrence of the search item and N for prior occurrence. This works for both forward and backward searches.

And as pointed out in the comments if less history is enabled you can carry your search item across invocations of less.

man less and man lesskey for the details.

Niall Cosgrove
  • 1,273
  • 1
  • 15
  • 24