Windows下能全键盘工作吗?部分搭建方案分享

洛水锦依卫 2026-09-04 09:54 1

之前在 linux 底下使用的是 ubuntu + i3wm 桌面环境的配置,各种自己写的配置用起来效率相当高。折腾过此类搭配的佬友应该都知道有多爽。


自打工作环境从 linux 转向 windows 之后,其实不太适应原生 windows 的低定制化,感觉我的工作效率变得较为遗憾。一方面是窗口堆叠的设计导致效率其实不高(如果不堆叠一堆程序挤在任务栏又容易占满),另一方面虚拟桌面的使用也没有工作区的高度定制化来得顺心(譬如双屏之下切换虚拟桌面会同时切换)。


为了解决 windows 的各种不顺心,我某天突然精神一震,突然就开始为了找回我在 linux 底下的使用体验而奔波了。良久之后觉得还算顺遂满意,故想向各位佬友分享。


当然,为了解决 windows 的低效问题,其实开源社区里出现过茫茫多的方案,本人折腾的方案并不唯一,甚至有不少东西很多佬友肯定已经在用了,所以仅是同各位佬友分享。


后面我将分各个部分分享我的解决方案和期间踩过的坑,并给出简短的操作说明。


终端-Windows Terminal


若要体验接近 linux ,那折腾终端一定是一切的开始。这里使用了非常大众的解决方案:Windows Terminal。Microsoft Store 安装即可,此处不再赘述。


接下来讲几个提高终端体验的应用。


Vim


咳,此处纯私货,单纯爱 Vim ,不谈不谈。


Nerd Fonts


前往 release 页下载你字体对应的 NerdFonts 安装即可。该符号集包含了很多特殊 unicode 符号,在终端美化中起到至关重要的地步。


oh my posh


跟 oh-my-zsh 之类的工具定位差不多,美化外加增加命令行可显示信息,使用 winget 进行安装即可。


winget install JanDeDobbeleer.OhMyPosh --source winget

先检查你的终端有没有 $PROFILE 项,即配置文件,若没有则使用


New-Item -Path $PROFILE -Type File -Force

命令创建,随后在其中写下一行


oh-my-posh init pwsh | Invoke-Expression

之后保存,重新打开一个 terminal 即可启用。


主题相关佬友可以访问 官方文档 自行查阅和选择配置。



效果类图。


Scoop


该软件是 windows 底下的一个包管理器,其软件源比 winget 要齐备不少,之后有不少用该包管理器安装的软件。


Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
irm https://gitee.com/glsnames/scoop-installer/raw/master/bin/install.ps1 | iex
scoop config SCOOP_REPO 'https://gitee.com/glsnames/scoop'
scoop update

使用方法跟 apt 差不多,scoop updatescoop install xxx 。也可以自行设置代理。


Gsudo


windows 原生的命令行无法在打开后升权,所以时候有的时候体验非常蛋疼,好在我们有伟大的 gsudo!


scoop install gsudo

安装之后即可使用 sudo cmd 来以管理员权限执行命令,同时也可以直接使用 sudo 命令在当前 powershell 升权为管理员。



命令行历史补全-PSReadLine


用过 oh-my-zsh 的佬友应该都体验过根据已输入部分作为前缀,在历史命令里查找补全的快感,可惜 oh-my-posh 并没有附带该功能,所以我们需要自己安装。


Install-Module -Name PSReadLine -AllowClobber -Force

随后打开我们的终端配置文件 vim $PROFILE ,往里加入配置:


Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward

即可享受到比较舒适的补全体验。


平铺式窗口管理器-GlazeWM


所谓平铺式,窗口默认都会显示在你眼前,不会隐藏。大家会把屏幕划分成若干个矩形区域各自为地,每个窗口都是看得见的,这样便大大提升了窗口管理的效率。


在平铺之上,我们可以很方便地把当前使用的窗口设为全屏,聚焦在当前重要的窗口上,做完工作再恢复平铺。又或者把特定窗口(譬如查看图片、翻译小窗等)设为浮动式,接近平时的普通窗口,独立于平铺逻辑,以不挤占平铺的地盘。


之前刚转 windows 的时候这个软件还并没有诞生,在谷歌上搜索良久未见 windows 下平铺方案的身影,而此身又尚且力薄,遂以为此事无望。经数年后回首,却发现了这个强大方案的诞生,不由感激涕零。伟大,无需多言。


winget install GlazeWM

使用该命令即可安装。


不过安装之后只需要对着官方中文文档一项一项配置去对,就可以基本掌握配置和使用方法了,这个地方没有遇到什么坑。


zebar


GlazeWM 会顺带安装适配的 bar 用于显示状态以及管理工作区,也就是 zebar 。这个东西的使用也并不复杂,选择顺眼的样式安装即可。注意它的管理是把每个部分都视为 widget ,多个样式组件可能会同时开启。


之后关闭桌面图标显示,再设置原生任务栏自动隐藏,结合 GlazeGM 的工作区命名,我们便能将所有窗口划分得井井有条。想要找到自己的任何一个窗口都能马上想起来自己放在哪个工作区,一键定位。



Yazi


这个中文社区的文档较少,在各种坑确实整了挺久的。


scoop install yazi

前文所安装的 NerdFonts 正好也为 yazi 提供了图标。


file


第一步是 yazi 需要根据文件类型决定预览和打开的命令,而这一步就恰恰需要使用 file 命令。windows原生并未自带该命令,而注意,如果使用 scoop 安装最新版的 file ,在 yazi 是用不了的(至少我个人是这样),会发生神秘的死锁现象。所以我们必须要使用 git 的 file 命令。


$gitCmd = Get-Command git -ErrorAction Stop
$gitRoot = Split-Path (Split-Path $gitCmd.Source)

$fileExe = Join-Path $gitRoot "usr\bin\file.exe"
$posixMagic = ($gitRoot.Replace('\', '/') -replace '^([A-Za-z]):', '/$1') + '/usr/share/misc/magic.mgc'

[Environment]::SetEnvironmentVariable("YAZI_FILE_ONE", $fileExe, "User")
[Environment]::SetEnvironmentVariable("MAGIC", $posixMagic, "User")

$env:YAZI_FILE_ONE = $fileExe
$env:MAGIC = $posixMagic

这样就彻底把 git 的 file 给引用过来了,在跨盘符的时候也不会出现问题。


配置


这个项目里面有比较详尽的配置中文注释说明。相信各位佬友读完对于配置文件的编写基本都能理解。


注意项目内的插件在 windows 底下是无法使用的,不要用。另外有些部分的配置可能写的有些老了,不满足当前版本的官方要求。


所以在让 AI 写插件时一定要让他先仔细地阅读官方文档再进行创作。


预览


由于环境问题,其实很多预览只下载工具不够,因为默认预览工具不一定是它。对于大部分工具我是让 AI 写的插件再使用。


这里列出不同格式的预览工具:








































格式 预览工具
文本 bot
图片 magick
MarkDown glow
PDF poppler
DOC pandoc
EXCEL zipfile
PPT microsoft office

简单讲一下各特殊部分:



  • Markdown:根据官方文档调用 glow ,并通过插件了实现预览翻页功能。

  • PDF:根据官方文档调用 pdftoppm 命令,将pdf转化成缓存的图片,然后翻页逻辑就是图片之间的切换。

  • Docx:由于原生的排版问题不好处理,所以用 pandoc 转换成 markdown 之后再用 glow 进行渲染预览。

  • Excel:将表格数据转换成 csv 文件,之后再解析 csv 文件为文本,然后预览。

  • PPT:利用 microsoft office 的原生功能将 ppt 转换成图片集,然后逻辑同 pdf 。


在压力 AI 时一定要让它总结完官方文档再写,不然很容易写出过时的代码导致不能用。


如果佬友觉得自己弄比较麻烦,可以留言让我上传我已经做好的配置和插件。



附一张简单的效果图。


其他小东西


剩下的基本都很难踩什么坑了,列一列即可。



  • Listary:程序启动器以及文件搜索

  • Vimuim:作为 Chrome 插件在 Chrome 里用 Vim 的键位方式体验浏览器;作为 Obsidian 插件在 Obsidian 里用类似方式跳转。


其他的方面暂时想不到了,期待其他佬友补充。

最新回复 (3)
  • calendar 09-04 09:56
    1

    为什么不用 Linux 了呢?windows 下最蛋疼的是不会 powershell 语法 ^-^


    然后浏览器插件推荐一个 surfingkeys,vimuim 没办法切换滚动的窗口

  • Scheme 09-04 09:57
    2

    ,在 yazi 是用不了的(至少我个人是这样),会发生神秘的死锁现象。所以我们必须要使用 git 的 file 命令



    这个问题很诡异


    我也用的git的file

  • 洛水锦依卫 楼主 09-04 14:59
    3

    有些软件目前仍没有看到支持 linux 的风险,体验较差。而且遇上内网环境还真不好折腾 ^-^。



    windows 下最蛋疼的是不会 powershell 语法 ^-^



    这事好说,现在可以让 AI 写脚本了,比手搓方便多了。

* 帖子来源Linux.do
返回