LINUX.ORG.RU
Ответ на: комментарий от anonymous

Похоже на альяс Alt+. - вставляет последний параметр

# find / -name nginx.conf
/etc/nginx/nginx.conf
# echo $_
nginx.conf

не то

Rodriges
() автор топика
Ответ на: комментарий от anonymous

Это если заведомо знать о положительном результате! Было бы очень удобно, если работало как я описал в начале топика.

Rodriges
() автор топика

Результат последней команды нигде не хранится. То есть в ортодоксальных шеллах нужно сделать что-то типа:

result=$(find / -name nginx.conf)
vim "$result"

А вот в xonsh вроде бы можно хранить в истории и stdout.

anonymous
()
Ответ на: комментарий от Kroz

!! - алиас, копирующий и выполняющий предыдущюю команду, т.е. не подходит.

По идее, можно написать wrapper типа

#!/usr/bin/env bash
# wrapper

export LAST_CMD=$($@)
echo $LAST_CMD

И вызывать его source wrapper echo test, в переменную LAST_CMD сохранится выхлоп последней команды.

Но я не знаю, как адаптировать под него .bashrc.

ns139275
()
Ответ на: комментарий от ns139275

А что тут адаптировать. Напиши alias функцию, назови ее как-то вроде '_' или 'a' и вызывай через неё команды.

Правда, думаю, будет много подводных камней. Например, код возврата, вывод в stderr местов stdout и т. п.

Kroz ★★★★★
()
Ответ на: комментарий от ns139275

Для того, чтобы функція всегда вызывалась по-дефолту, нужно править PS1?

PS1 не имеет к этому никакого отношения.
Смотреть нужно скорее в сторону bash hooks; вот первая ссылка, которую выдает google: http://superuser.com/questions/175799/does-bash-have-a-hook-that-is-run-befor...

Kroz ★★★★★
()
Ответ на: комментарий от dexpl

vim $(!!)

Здесь, кстати, уместно вспомнить об устаревшем синтаксисе:

$ vim `!!`

— вводится порядочно быстрее.

Zmicier ★★★★★
()

Плюсую вариант с $(!!).

Обмазываться башем начал бы с такого.

$ O=${TMPDIR:-/tmp}/$$-laststdout # это в ~/.bashrc
$ find / -name nginx.conf | tee $O
/etc/network/interfaces
$ vim $(<$O)

unterwulf
()

А чем не устраивает в vim'e команда :r?

:r !find / -name nginx.conf

anonymous
()

Alt+. — вставка последнего аргумента последней команды.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.