成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Windows下Emacs中的zsh Shell

系統 Windows Linux
運行跨平臺 shell(例如 Bash 或 zsh)的最大優勢在于你能在多平臺上使用同樣的語法和腳本。在 Windows 上設置(替換)shell 挺麻煩的,但所獲得的回報遠遠超出這小小的付出。

[[259323]]

運行跨平臺 shell(例如 Bash 或 zsh)的***優勢在于你能在多平臺上使用同樣的語法和腳本。在 Windows 上設置(替換)shell 挺麻煩的,但所獲得的回報遠遠超出這小小的付出。

zsh shell inside Emacs on Windows

zsh shell inside Emacs on Windows

MSYS2 子系統允許你在 Windows 上運行 Bash 或 zsh 之類的 shell。使用 MSYS2 很重要的一點在于確保搜索路徑都指向 MSYS2 子系統本身:存在太多依賴關系了。

MSYS2 安裝后默認的 shell 就是 Bash;zsh 則可以通過包管理器進行安裝:

  1. pacman -Sy zsh

通過修改 etc/passwd 文件可以設置 zsh 作為默認 shell,例如:

  1. mkpasswd -c | sed -e 's/bash/zsh/' | tee -a /etc/passwd

這會將默認 shell 從 bash 改成 zsh。

要在 Windows 上的 Emacs 中運行 zsh ,需要修改 shell-file-name 變量,將它指向 MSYS2 子系統中的 zsh 二進制文件。該二進制 shell 文件在 Emacs exec-path 變量中的某個地方。

  1. (setq shell-file-name (executable-find "zsh.exe"))

不要忘了修改 Emacs 的 PATH 環境變量,因為 MSYS2 路徑應該先于 Windows 路徑。接上一個例子,假設 MSYS2 安裝在 c:\programs\msys2 中,那么執行:

  1. (setenv "PATH" "C:\\programs\\msys2\\mingw64\\bin;C:\\programs\\msys2\\usr\\local\\bin;C:\\programs\\msys2\\usr\\bin;C:\\Windows\\System32;C:\\Windows")

在 Emacs 配置文件中設置好這兩個變量后,在 Emacs 中運行:

  1. M-x shell

應該就能看到熟悉的 zsh 提示符了。

Emacs 的終端設置(eterm)與 MSYS2 的標準終端設置(xterm-256color)不一樣。這意味著某些插件和主題(提示符)可能不能正常工作 - 尤其在使用 oh-my-zsh 時。

檢測 zsh 否則在 Emacs 中運行很簡單,使用變量 $INSIDE_EMACS

下面這段代碼片段取自 .zshrc(當以交互式 shell 模式啟動時會被加載),它會在 zsh 在 Emacs 中運行時啟動 git 插件并更改主題:

  1. # Disable some plugins while running in Emacs
  2. if [[ -n "$INSIDE_EMACS" ]]; then
  3. plugins=(git)
  4. ZSH_THEME="simple"
  5. else
  6. ZSH_THEME="compact-grey"
  7. fi

通過在本地 ~/.ssh/config 文件中將 INSIDE_EMACS 變量設置為 SendEnv 變量……

  1. Host myhost
  2. SendEnv INSIDE_EMACS

……同時在 ssh 服務器的 /etc/ssh/sshd_config 中設置為 AcceptEnv 變量……

  1. AcceptEnv LANG LC_* INSIDE_EMACS

……這使得在 Emacs shell 會話中通過 ssh 登錄另一個運行著 zsh 的 ssh 服務器也能工作的很好。當在 Windows 下的 Emacs 中的 zsh 上通過 ssh 遠程登錄時,記得使用參數 -t-t 參數會強制分配偽終端(之所以需要這樣,時因為 Windows 下的 Emacs 并沒有真正的 tty)。

跨平臺,開源真是個好東西…… 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2011-07-20 10:18:41

EmacsShell

2010-01-16 20:22:47

Windows 7shell

2023-07-27 17:41:02

BashZshFish

2019-06-17 08:50:49

Emacs shell命令Windows

2020-03-09 12:31:08

WindowsWindows 10GNU Emacs

2011-07-19 10:16:55

2019-06-13 10:24:34

工具性能數據

2021-03-09 08:58:51

windowsemacswsl2

2024-04-08 09:23:43

MacShell操作系統

2020-04-26 20:00:14

EmacsLinux

2009-03-04 12:03:30

LinuxZsh技巧

2010-04-08 15:37:33

2014-07-31 11:24:21

Linuxshell命令

2019-02-27 12:00:09

開源Org模式Emacs

2020-12-15 09:08:40

LinuxShell

2012-01-18 10:46:33

ibmdw

2023-06-03 20:36:35

ShellLinuxBash

2010-11-02 21:17:17

2009-07-20 17:17:54

Shell函數ASP.NET環境

2014-03-04 09:53:29

Redis存儲系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人做爰9片免费看网站 | 国产在线观看一区二区三区 | 欧美亚洲国产精品 | 日韩网站免费观看 | 成人国产精品色哟哟 | 欧美成人手机视频 | 国产小视频在线 | 久久久久久久久久影视 | 超碰97av | 一区二区久久 | 久久精品国产免费高清 | 久久91精品 | 综合亚洲视频 | 国产一级片免费在线观看 | 五月天婷婷丁香 | 精品国产一区二区三区性色av | 五月天婷婷综合 | 日韩欧美精品一区 | 影视先锋av资源噜噜 | 中文字幕在线观看日韩 | 国产在视频一区二区三区吞精 | 在线高清免费观看视频 | 亚洲第一区国产精品 | 国产影音先锋 | 精品亚洲永久免费精品 | 日韩 欧美 综合 | 91视频网址 | 91av在线视频观看 | 妞干网av | 精品96久久久久久中文字幕无 | 性高湖久久久久久久久aaaaa | 自拍偷拍av | 免费看黄视频网站 | 久久精品一区 | 可以免费观看的av | 超碰高清 | 亚洲精品久久久一区二区三区 | 国产不卡一区在线观看 | 国产精品久久久久久久久久久久 | 精品国产18久久久久久二百 | 中文字幕一区在线观看视频 |