Вставка последнего аргумента предыдущей команды в bash и zsh
В bash и zsh в стандартном режиме (он же зовется emasc-режим, это тот который не vi-режим Ж:-)
есть удобное сочетание клавиш Esc-. позвляющее вставлять последнее слово аргументов прошлой команды.
Пример использования. Например прочитали новость о выходе нового релиза игрушки glest и решили глянуть что за зверь такой.
# так как лень, то ищем есть ли в репозитории $ apt-cache search glest glest-data - A free 3d real-time customizable strategy game glest - A free 3D real-time customizable strategy game # o, есть. смотрим описание и зависимости $ apt-cache show Esc-. Package: glest ... Depends: glest-data (= 3.1.0-1), .. ... Description: A free 3D real-time customizable strategy game Glest takes place in a context which could be compared to that of the pre-renaissance Europe, with the licence that magic forces exist in the environment and can be controlled. # ок. устраивает установим $ sudo apt-get install Esc-. Чтение списков пакетов... Готово Построение дерева зависимостей Reading state information... Готово ... # смотрим что поставилось, какие запусные файлы, есть ли мануалы, README.Debian и что там $ dpkg -L Esc-. /. /usr /usr/games /usr/games/glest ... # ну и запустим $ Esc-.
Как видно из примера не плохо облегчает жизнь Ж:-)
Если вы используете zsh в vi режиме, то получить эту фичу в режиме вставки можно добавив в свой ~/.zshrc
bindkey -M viins '^[.' insert-last-word
Только учтите что между нажатием Esc и . должно пройти меньше секунды, иначе zsh перейдет в командный режим vi-режима.
- 1798 просмотров
Страница для печати


мне еще нравится такое
bindkey "^[p" copy-prev-shell-word
полезно при переименовании
кстате ^[. - это не только Esc+. а и alt+. ;)
да полезная штука. я пользуюсь !#$
а alt у меня на как оснаваня при управлении wm
стормозил и не сразу допер, что это escape и точка. сидел и давил escape и минус ;)
спасибо, neat!
Интересно. Не знал. Правда пример ИМХО не очень удачный. ;) Я лично предпочел бы из хистори вызвать предыдущую команду и поправить search на show чем набирать заново начало и в конце вставлять по Esc + .
ну как ни крути это учебный пример (из жизни правда) и меня все это автодополняется так что мне быстрее набрать. и вообще я стараюсь избегать стрелочек и редактирования предыдущей команды напрямую, а использовать всяческие способы замены. сначало не удобно а потом привыкаешь Ж:-)
например в этом случаем можно было бы применить csh "заменить и выполнить"
или в zsh можно так
но это уже другой совет Ж:-)
--
Signature invent in progress 24% ##........
Отправить комментарий