Windows相关技巧
Dionysen

Windows系统的一些技巧。

win10 修改系统显示字体

下载FontCreator,用其打开需要替换的字体,选择字体->属性:

image

然后将名字修改成Microsoft Yahei,然后进入PE系统,替换系统中的雅黑字体(msyh.ttc、msyhl.ttc、msyhbd.ttc三个文件)。

image

修改输入法候选字的字体

Win+r输入regedit打开注册表编辑器,找到如下:

HKEY_CURRENT_USER\Software\Microsoft\InputMethod\CandidateWindow\CHS\1

FontStyleFontStyleTSF3修改成想要的字体,如:

image

Windows Access WSL2 Files

Input \\wsl$ in address bar of explorer.

Win11 Restore Right-click Menu

# To win10
reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve

# To win11
reg.exe delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /va /f

地址栏输入 chrome://flags 可以开启隐藏功能

RealVNC 注册码

Version: 6.11

7SA9N-9JF3P-E8CW2-BH9JU-PMVQA

GT620老显卡2K分辨率

家里老古董,十年前的显卡,2K屏无法调成2K分辨率,先后买了DVI-24+1和DVI-24+5的线,都无法做到。强行在显卡设置里调整,字体发虚。

最后在贴吧老哥的指点下,找到了设置2560x1440分辨率的办法。

只需在显卡设置中创建自定义分辨率时将计时标准设置为GTF即可。

(偶尔会有闪屏现象,但至少能用了)

Windows终端使用代理

🟢设置完成之后,如果代理未生效,则最好试试全局代理

$env:HTTP_PROXY = http://127.0.0.1:7890;

使用google检测是否成功代理:

curl www.google.com

便捷指令

1.打开Profile文件

if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
notepad $PROFILE

2.添加命令

# Set-Proxy command
if ($env:HTTP_PROXY -ne $null){
Write-Output "Proxy Enabled as $env:HTTP_PROXY";
}

Function SetProxy() {
Param(
# 改成自己的代理地址
$Addr = 'http://127.0.0.1:7890',
[switch]$ApplyToSystem
)

$env:HTTP_PROXY = $Addr;
$env:HTTPS_PROXY = $Addr;
$env:http_proxy = $Addr;
$env:https_proxy = $Addr;

[Net.WebRequest]::DefaultWebProxy = New-Object Net.WebProxy $Addr;
if ($ApplyToSystem) {
$matchedResult = ValidHttpProxyFormat $Addr;
# Matched result: [URL Without Protocol][Input String]
if (-not ($matchedResult -eq $null)) {
SetSystemProxy $matchedResult.1;
}
}
Write-Output "Successful set proxy as $Addr";
}
Function ClearProxy() {
Param(
$Addr = $null,
[switch]$ApplyToSystem
)

$env:HTTP_PROXY = $Addr;
$env:HTTPS_PROXY = $Addr;
$env:http_proxy = $Addr;
$env:https_proxy = $Addr;

[Net.WebRequest]::DefaultWebProxy = New-Object Net.WebProxy;
if ($ApplyToSystem) { SetSystemProxy $null; }
Write-Output "Successful unset all proxy variable";

}
Function SetSystemProxy($Addr = $null) {
Write-Output $Addr
$proxyReg = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings";

if ($Addr -eq $null) {
Set-ItemProperty -Path $proxyReg -Name ProxyEnable -Value 0;
return;
}
Set-ItemProperty -Path $proxyReg -Name ProxyServer -Value $Addr;
Set-ItemProperty -Path $proxyReg -Name ProxyEnable -Value 1;
}
Function ValidHttpProxyFormat ($Addr) {
$regex = "(?:https?:\/\/)(\w+(?:.\w+)*(?::\d+)?)";
$result = $Addr -match $regex;
if ($result -eq $false) {
throw [System.ArgumentException]"The input $Addr is not a valid HTTP proxy URI.";
}

return $Matches;
}
Set-Alias set-proxy SetProxy
Set-Alias clear-proxy ClearProxy

3.保存,重新打开PowerShell

设置当前窗口代理 :set-proxy

设置当前窗口代理 + 系统代理:set-proxy -ApplyToSystem

取消当前窗口代理:clear-proxy

取消当前窗口代理 + 系统代理:clear-proxy -ApplyToSystem

set-proxySetProxyclear-proxyClearProxy可以互相替换.

CMD设置代理

仅当前控制台,关闭后失效。

set http_proxy=http://127.0.0.1:19810
set https_proxy=http://127.0.0.1:19810

Git设置代理

设置Http代理,永久生效

git config --global https.proxy https://127.0.0.1:19810
git config --global http.proxy http://127.0.0.1:19810

取消代理

git config --global --unset http.proxy
git config --global --unset https.proxy

PowerShell环境的执行策略

错误:

无法加载文件 C:\Users\zhaoys-c\Documents\WindowsPowerShell\profile.ps1,
因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwl
ink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 3
+ . 'C:\Users\zhaoys-c\Documents\WindowsPowerShell\profile.ps1'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess

解决:

  1. 以管理员身份打开PowerShell。这可以通过在开始菜单搜索栏中输入”PowerShell”,然后右键点击”Windows PowerShell”并选择”以管理员身份运行”来完成。

  2. 检查当前的执行策略。输入以下命令并按回车键:

    Get-ExecutionPolicy
  3. 如果执行策略是Restricted,你可以更改它为更宽松的策略,比如RemoteSignedUnrestrictedRemoteSigned策略允许你运行本地脚本,但需要来自可信来源的远程脚本进行签名。Unrestricted策略允许运行所有脚本,但请注意这可能会带来安全风险。

    更改执行策略的命令如下:

    Set-ExecutionPolicy RemoteSigned

    或者

    Set-ExecutionPolicy Unrestricted

    执行这些命令时,你可能需要提供管理员密码。

  4. 确认执行策略已更改。再次使用Get-ExecutionPolicy命令来查看新的执行策略。

  5. 保存更改并关闭PowerShell。

  6. 重新打开一个新的PowerShell窗口,然后尝试再次加载你的profile.ps1脚本。

Visual Studio中文在别处是乱码

因为Visual Studio的默认编码是GBK,而如VSCode或Sublime默认编码是UTF-8,因此将其转换成GBK编码,再保存为UTF-8。

sublime中安装插件ConverrtToUTF-8,即可使用GBK编码打开文件。

安装oh-my-posh

官方文档:https://ohmyposh.dev/

现在的oh-my-posh可以直接从Microsoft Store下载exe文件安装了,别去折腾命令行的命令了,速度太慢了。
安装完成后,如果是windows系统,推荐Windows Terminal(没有的话在Microsoft Store里安装)下启动powershell。

配置oh-my-posh过程中比较复杂的点就是Nerd Font和Themes这两点:

1.Nerd Font

去下面的网站下载一个名字里面带NF的字体,windows下直接安装,其他系统参照网站说明。

下载地址:https://www.nerdfonts.com/

2.Themes

在Windows Terminal中输入:

notepad $PROFILE

在打开的文件中填入以下代码后保存:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\zash.omp.json" | Invoke-Expression 

然后输入下面的命令,来让配置生效:

.$PROFILE

上面过程中zash是主题的一种,将zash换成想要的主题即可。

Get-PoshThemes

3.Autosuggestion

Windows 里的 powershell 也可以做到,非常简单

  • 以管理员身份运行 powershell
  • 安装 PSReadLine
Install-Module PSReadLine -RequiredVersion 2.1.0
  • 重启 powershell
  • 初始化
Import-Module PSReadLine
Set-PSReadLineOption -PredictionSource History
  • OK,完成,但重启后还需要再次初始化,所以把它加入配置文件里
notepad $PROFILE
  • 加入一行,保存并关闭
Set-PSReadLineOption -PredictionSource History
  • 下次启动即可拥有 autosuggestion 能力
显示评论