Zsh
在 ZSH shell 命令行中暫時隱藏路徑欄?
除了在某些配置文件中永久禁用它之外,是否有一些快捷方式或其他東西可以在命令提示符之前切換目錄路徑的可見性以暫時隱藏它?
我的意思是,ZSH似乎在全路徑長時會縮寫目錄名稱,但似乎只對目前目錄的父目錄這樣做,而噹噹前目錄的名稱很長時,我輸入命令的空間很小.
你可以在你的
~/.zshrc
:realPS1="$PS1" changed=false changePS1() { $changed && { PS1="%n (normal) in %~> " #Or PS1="$realPS1" changed=false : # <-- It might be not necessary add this `:`. This one #represents a zero-status code (or successful). } || { PS1="%n (hidden)> " changed=true } } bindkey -s "^H" 'changePS1^M'
上面的程式碼將創建一個快捷方式(使用 bindkey)
Ctrl + H
來執行該changePS1
功能。所以基本上什麼Ctrl + H
是啟用hidden
提示,當你Ctrl + H
再次按下將啟用normal
提示。關於你應該根據你的需要
$PS1
分配值。例如,此行顯示如下提示:PS1="%n (normal) in %~> "
edgar (normal) in ~/Documents/Gitlab/Linux_programming>
我目前工作目錄
%n
的使用者名和相對路徑在哪裡。%~
但是,您可以備份您的真實
$PS1
(linerealPS1="$PS1"
) 並使用該 linePS1="$realPS1"
而不是PS1="%n (normal) in %~> "
關於
PS1="%n (hidden)> "
這將顯示以下提示:edgar (hidden)>
因此,您應該
PS1
使用自定義提示分配變數,但不必使用%~
以避免列印路徑。