linux版powershell中,tab補全,linux外部命令參數名,的模塊介紹


 

關鍵字 linux powershell pwsh 補全 complete bash zsh

摘要:
linux用戶的福音!
在linux版powershell中,補全linux外部命令的參數(如ls補全-l),支持bash和zsh。

概述

在linux版powershell中,默認是無法補全linux外部命令的參數的。
但是有了這個模塊,就可以實現,用tab補全【外部命令的參數名】了。
支持常用linux命令,如ls,find,grep等。
支持bash和zsh。

項目官網:

https://github.com/PowerShell/Modules/tree/master/Modules/Microsoft.PowerShell.UnixCompleters

 

界面gif動圖:

 

 

 

linux中,的powershell中,安裝:

Install-Module -Name Microsoft.PowerShell.UnixCompleters


linux中使用:


把下兩條命令寫入$profile,否則每次使用前需要打入此2條命令。

import-Module -Name Microsoft.PowerShell.UnixCompleters
Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete

 


同時啟用psreadline下拉列表,和linux外部命令tab補全后,$profile的樣子:
【文件名=/root/.config/powershell/Microsoft.PowerShell_profile.ps1】

Set-PSReadlineOption -EditMode Windows
Set-PSReadlineOption -PredictionSource HistoryAndPlugin
Set-PSReadLineOption -PredictionViewStyle ListView
import-Module -Name Microsoft.PowerShell.UnixCompleters
Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete

 


注意:


此時,應該先
1列出所有舊版psreadline:get-module psreadline -ListAvailable
2刪除所有舊版的psreadline:rm -rf /xxx/psreadline
3用下列命令安裝psreadline最新版:
Install-Module -Name PSReadLine -AllowPrerelease -Force -Scope CurrentUser

 

psreadline下拉菜單的gif效果:(支持linux)

 

 

 

此功能面向的用戶群:

我想這個功能的主要用戶,是win,linux都用的用戶,如wsl用戶。
或者是,從win中,用win terminal(或powershell),經ssh,連接linux。
本地powershell7---》ssh---》遠程powershell7,還想用linux外部命令,參數名的tab補全。

那么問題來了,或許有人會問?為什么不用?
本地powershell7---》ssh---》被控機bash,bash里也有complete呀!
答:本地遠程都是powershell7的話,可以從本地傳遞對象到遠程,可以從遠程返回對象到本地。

 

謝謝觀看


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM