PowerShell: улучшения истории (readline)?

Некоторые вещи я люблю в Bash и хотел бы знать, как сделать в PowerShell:

  1. В Bash у меня есть прокрутка истории, настроенная так, чтобы это только прокрутило команды, которые начинаются с того же префикса как текущая строка. Если я хочу видеть свою последнюю фиксацию (например, к части повторного использования комментария) я пишу 'мерзавцу' и затем .

  2. Связанный, конечно, поиск истории с Ctrl + R

  3. Для нахождения других вещей я пишу:

    h | grep foo
    

    В PowerShell я использую:

    h -c 1000 | where {$_.commandline.contains("foo")}
    

    (очевидно, я - новичок, должен быть более короткий путь),

  4. Вещи как:

    mv file.txt{,.bak}
    

    или

    mv file.txt !#$.bak
    
  5. Волшебное пространство (который расширяется !$ встроенный)

Каковы альтернативы в PowerShell?

12
задан 20.12.2011, 07:41

1 ответ

Для (3), можно записать это как функцию в профиле (например. %USERPROFILE%\My Documents\WindowsPowerShell\profile.ps1):

function hh ([string] $word) {
    Get-History -c 1000 | where {$_.commandline.contains($word)}
}

Затем:

hh foo

Но Powershell лучше всего считается языком сценариев, чем как интерактивная оболочка, потому что базовой консолью является все еще cmd.exe со всеми своими ограничениями.

Таким образом, это - F7 для интерактивной истории, F3 для копирования предыдущей команды, F1 для копирования отдельного символа, F2 для копирования предыдущей команды до конкретного символа, и т.д., и т.д.

2
ответ дан 07.12.2019, 11:55

Теги

Похожие вопросы