首先我的主力开发系统是macOS,我在macOS下使用的是iterm2非常的好用。我喜欢在终端中使用vim做简单的编程开发。为了美化vim体验我使用了Hack Nerd Font字体。
但是偶尔切到windows下使用一些常用的ssh软件发现自定义字体这块很难受,要么是不能自定义字体,要么是SSH中的VIM显示的乱七八糟。
在windows下我尝试过的ssh客户端,但是最终没有使用的。 如下 :
- xshell
- Termius
- Git Bash
- Chrome浏览器中的安全外壳插件(secure-shell)
- cmd
- powershell
总体来说都能用,但是用来做VIM开发效果比较差。显示的总让人不舒服。
探索为了达到我的效果 ,我探索了好多个可以实现 ssh的软件 。
xshell总体来说是一个非常不错的SSH客户端软件,全平台支持,其他平台我都喜欢,唯独在windows下的版本有些美中不足。因为windows下的版本,竟然不能使用Hack Nerd Font字体。 我在macOS,android,iOS中使用感觉都 不错,就是windows下无法使用自定义字体,这就很难受了。
不能自定义字体,自带的字体我全部使用了一下都没有完全满足的。
我非常疑惑的是android版本,默认的字体就可以正常显示。
- 字体无法选择
Hack Nerd Font
- 有错位的情况
这个插件讲起来还是挺好用的,显示的内容还算准确。就一点自定义的字体无法正确显示。虽然外观设置,支持字体自定义,但是怎么设置都无效。 不知道是我的设置问题,还是软件的BUG,我在windows 和 macOS下自定义字体都失败了。
自带的cmd试试,跟git bash一样的问题。
跟cmd差不多,不细说了。无法使用。
不清楚是不是windows下的限制,windows下常见的shell软件无法带来与macOS和linux接近的体验,普通的操作可以满足。但是如果想流畅使用 加了好多实用插件的vim,就会有各种各样的显示问题。
经过了很多的筛选(以上并不是尝试的全部),我终于找到了使用起来跟macOS 下iterm2或者linux下的终端使用体验比较接近的解决方案了。让我也想不到的是,最终满足我的条件的并不是windows下原生的软件 ,而是基于html的仿真终端。
windows Terminal这个是我目前使用最舒服的一个方案。 使用笔记《Windows Terminal使用笔记》 https://blog.csdn.net/lxyoucan/article/details/119929264
https://github.com/huashengdun/webssh 一个简单的 Web 应用程序,用作 ssh 客户端以连接到您的 ssh 服务器。它是用 Python 编写的,基于 tornado、paramiko 和 xterm.js。只要有浏览器就能使用。效果如下 : 第一次使用,真的是超出我的预期。我真没想到一个web浏览器中跑的仿真终端,如此的好用。webssh的服务我是搭建在自己的云服务器上的,用起来非常方便,到一个新电脑甚至不用安装任何软件,有浏览器就可以使用。 个人体验: 优点 :
- 支持自定义字体
- 完美支持鼠标
- 支持终端尺寸动态调整
- 兼容主流浏览器,有浏览器的地方就能用,甚至手机浏览器上都可以使用。
缺点:
- 环境搭建门槛略微高一些
- 在本机搭建,每次启动要繁琐一些
安装教程可以参考: 《神器webssh学习笔记》 https://blog.csdn.net/lxyoucan/article/details/118121851
Visual Studio CodeVisual Studio Code(简称 VS Code)是一款由微软开发且跨平台的免费源代码编辑器。该软件支持语法高亮、代码自动补全(又称 IntelliSense)、代码重构、查看定义功能,并且内置了命令行工具和 Git 版本控制系统。用户可以更改主题和键盘快捷方式实现个性化设置,也可以通过内置的扩展程序商店安装扩展以拓展软件功能。
VS Code 使用 Monaco Editor 作为其底层的代码编辑器。
这是一个开发工具,我为什么会选择它呢?因为上面提到的webssh这个工具是基于xterm.js开发的,我就对xterm.js产生了好奇,想去学习一下。结果在看文档的过程中发现vs code的终端竟然也是基于xterm.js开发的,那么理论上应该也有与webssh类似的体验,经过测试,真的没让我失望。
如下图所示: 然后就搞定了!配置非常方便。 效果如下:
因为vscode是一个开发工具,终端只是其中一部分。所以总感觉其他部分会占不少空间。如何突出终端的布局呢? 我只保留了一个菜单栏。
如果菜单栏也被去掉了,如何找回来呢?
C:\Users\用户名\AppData\Roaming\Code\User\settings.json
如果上面布局调整后,你还不满足。那么还有一个禅模式,可以达到一个全屏显示终端的效果。 快捷键
Ctrl + K
然后按Z
这简直接近完美!!!
VS Code我目前体验发现,唯一的缺点是不支持鼠标操作。这一点对我来说到是影响不大,因为我很少使用鼠标操作。毕竟使用VIM的初衷就是想避免鼠标操作的。
深入使用后,我发现一些快捷键会有冲突,比如:我在vim中定义了Ctrl + J 的快捷键与vs code自带的快捷键冲突,程序会优先处理vs code的快捷键,所以深度使用,我还是用webssh吧!
总结目前我在windows中使用的shell 终端,综合体验最佳的是VS Code中的终端功能!windows我相对用的比较少。如果有更好的方案还希望评论交流一下。如果 将来有更好的方案发现,我会在文章中更新。
2021年8月28日更新 使用最舒服的还是Windows Terminal,字体鼠标都支持。目前使用接近完美。