2015-09-17 5 views
2

Я ищу способ нанести «emacs» на «emacs -nw» в powershell. Я попробовал это (снимок экрана ниже), и он добавляет его как псевдоним, но он не работает. Тем не менее, команда «emacs -nw» работает до установки псевдонима.Псевдоним «emacs» для «emacs -nw» в powershell

enter image description here

И я также хочу способ сохранить этот псевдоним для будущих сессий (перезапуск PowerShell получает меня обратно к площади нуля)

EDIT: (Доп информация) также попыталась создать функцию, но при вызове этой функции Powershell замирает на некоторое время, то я получаю следующее сообщение (скриншот ниже) enter image description here

EDIT2: (Доп информация) на первом, function enw {emacs.exe -nw} (изменена функция имя для «enw» для объяснения целей), похоже, работает. Но тогда есть проблема. Для стандартных emacs я могу ввести emacs -nw filename.txt, и это откроет файл filename.txt в emacs -nw. Вызов функции enw filename.txt не откроет файл filename.txt, предоставив тот же результат, что и просто введите enw.

Решения этого function enw {Param($myparam) emacs.exe -nw $myparam}

ответ

1

попробуйте создать функцию:

function emacs {emacs.exe -nw} 

затем добавить его в свой профиль Powershell ($profile)

+0

Не пытается ли эта функция называть себя? В любом случае, это не так. Я получаю «Сценарий завершился неудачно из-за переполнения глубины вызова». после ожидания некоторое время. – Manu

+0

@manu попробуйте добавить расширение exe –

2

Создайте функцию, но в пределах функции явного вызова .exe:

function emacs {emacs.exe -nw} 
0

Я вижу, что у вас есть ваши ответы, но я просто хотел описать это здесь. Вы создали рекурсивную функцию.

Не указывая .exe как часть расширения, PowerShell смог сопоставить emacs с описанием функции. Так оно и называлось бы бесконечно.

Вы можете увидеть это, проверив результаты Get-Command emacs как до, так и после регистрации вашей функции.