如何在 Powershell 中以终端模式启动 emacs?

如何在 Powershell 中以终端模式启动 emacs?

当我在 Powershell 中执行显而易见的事情时:

Start-Process "C:\bin\emacs-23.3\bin\emacs.exe" -ArgumentList "-nw"

然后 emacs 会加载一个新的“cmd.exe”终端,在该终端中它处于终端模式,而不是在 Powershell 中以终端模式启动。如何在现有的 Powershell 终端中以终端模式启动 emacs?

答案1

我无法测试它,因为我不使用 emacs。如果您只是调用它,它会在 PowerShell 中加载吗?

C:\bin\emacs-23.3\bin\emacs.exe -nw

答案2

从 winget 安装 GNU Emacs

winget install "GNU Emacs"

然后将此代码块添加到您的Microsoft.PowerShell_profile.ps1

$emacs_wildcard = "${Env:ProgramFiles}\Emacs\*\bin\emacs.exe"
if ($(Test-Path $emacs_wildcard)) {
  $emacs_path = (Get-ChildItem $emacs_wildcard)[-1].FullName -replace ' ', '` '
  function emacs { "$emacs_path -nw $args" | Invoke-Expression }
}

相关内容