!1255:p
Зробимо це
!
- це виклик історії
1255
- це
:p
друк номера рядка, але він не виконується
Потім ви можете скористатися стрілкою вгору, щоб повернути попередню (невиконану) команду, і ви можете змінити її як потрібно.
Я часто поєдную це з hg
("History Grep") - моїм улюбленим псевдонімом.
$ alias hg # Maybe use hgr instead if you are a Mercurial CLI user.
alias hg='history | tail -200 | grep -i'
Цей текст шукає текст у нещодавньому рядку історії, незалежно від регістру, і використовується таким чином:
Коли я хочу шукати останні команди vi для редагування певного файлу, а потім хочу повторно використовувати одну з них для редагування того ж файлу, але з іншим розширенням.
$ hg variables
6153 vi Variables/user-extensions.js
6176 vi Variables/user-extensions.js
6178 vi Variables/user-extensions.js
6190 vi Variables/user-extensions.js
6230 hg variables
$ # Notice the difference in case with V and v is ignored
$ !6190:p
vi Variables/user-extensions.js
$ ["up-arrow"]
$ vi Variables/user-extensions.[now change .js to .html]
Я також визначаю hga
("History Grep All") для пошуку всієї історії:
$ alias hga
alias hga='history | grep -i'
але я не дуже використовую його, тому що моя історія (навмисно) дуже велика, і я отримую занадто багато результатів, що пізніше впливає на прокрутку назад на сторінках мого терміналу.