Windows 下有什么 Terminal 的粘贴复制体验比较接近 macOS 的么?

2017-09-17 17:20:23 +08:00
 Livid
10542 次点击
所在节点    Windows
46 条回复
fcj558
2017-09-17 17:23:18 +08:00
同求。
myliyifei
2017-09-17 17:35:53 +08:00
先说一下 macos 是什么体验 并没有觉得很好用
vardarling
2017-09-17 17:37:34 +08:00
没有
geelaw
2017-09-17 17:39:14 +08:00
什么是复制粘贴体验……我想不出来这有什么花儿来🤣
ipwx
2017-09-17 17:41:49 +08:00
@fcj558 @myliyifei @vardarling @geelaw mac 终端“选择”文本比较符合正常人类的习惯,和文本编辑器一样有 I 型光标,跨行选择的时候是整行选中而不是像 CMD 一样按列选中。如果本身没有换行只是因为窗口给加上了换行,CMD 复制出来也会有奇妙的多余换行,但是 mac 终端并不会。

当然说实在的这些优点 Linux 也有。只是 Windows 的终端实在是太反人类了。
hljjhb
2017-09-17 17:51:46 +08:00
cmder 就很好用了
Livid
2017-09-17 17:57:06 +08:00
@ipwx 及鼠标右键的行为。

其实最反人类的设定就是这个鼠标右键的行为。
kokutou
2017-09-17 18:08:03 +08:00
cmd 选项里开启快速复制后,
如果在选中文字上右击=复制
没选中文字的时候右击=粘贴

习惯了就还好。。
Livid
2017-09-17 18:10:45 +08:00
@kokutou 如果是要从 Terminal 中复制一个多行的文本(比如配置文件之类),选中多行之后,在另外一个 Terminal 窗口的 vi 中 paste,然后就会发现把那些没有必要的空格也复制过来了。
also24
2017-09-17 18:18:26 +08:00
@Livid #9 刚才测试了一下,XShell 在复制跨行内容的时候没有这个问题
EricCartman
2017-09-17 18:20:56 +08:00
ConEMU
Livid
2017-09-17 18:21:12 +08:00
@also24 Xshell 是只能用来管理远程服务器,还是也可以当作本地系统的 Terminal 使用呢?
geelaw
2017-09-17 18:27:26 +08:00
@ipwx
@Livid

不明白你们什么意思……怀疑你们在用 n 年前的 Windows ?复制输出的时候不会有任何问题。

如果你要复制配置文件,你可以

> Get-Content 这个文件 | Set-Clipboard

geelaw
2017-09-17 18:30:43 +08:00
@kokutou
@Livid

如果你要选择,直接用鼠标拖动或者用 Shift+方向。选择之后按 Enter (如果是鼠标选定或者 Command Prompt,因为进入了选择模式)或者 Ctrl+C (如果是 PowerShell Shift+方向,因为这是 PSReadline 处理的)即可复制。不在选择模式下 Ctrl+V 或者 右键 粘贴。
Felldeadbird
2017-09-17 18:41:34 +08:00
shift+ inster 按键。可以快速粘贴
tracyone
2017-09-17 18:43:45 +08:00
gvim 的内嵌终端
Felldeadbird
2017-09-17 18:46:45 +08:00
忘记说复制了,ctrl+inster 是复制。不过需要右键选择文本
crab
2017-09-17 18:47:30 +08:00
XShell 可以和 cmd 一样的,只是前段时间 XShell 出问题啊。
also24
2017-09-17 18:49:33 +08:00
@geelaw #14
不常用 PowerShell,不太明白为啥我这边只能拖出矩形的选择窗口……



然后复制出来的文本就带上换行了



@Livid #12
似乎不能完全替代,不过默认打开就是 本地 Shell,除了自带的部分命令,也可以正常使用 PATH 内的程序,看了下有人通过 ssh 的方式来连接 Cygwin 使用。
Livid
2017-09-17 18:51:00 +08:00
@geelaw 复现方法:

1. 安装 Git for Windows 或者任何其他可以获得 ssh 的软件
2. 在 Terminal 窗口中用 ssh 连接一台远程的 Linux 服务器,这是窗口 A
3. 在窗口 A 中用 cat 或者 vi 显示一个某一行可能会换行的文件(比如 NGINX 的 SSL cipher 配置那一行,或者 Sentry DSN 之类的超长 URL ),选择这一行
4. 在另外一个窗口中连上另外一台服务器,这是窗口 B
5. 把窗口 A 中的那个换行了的内容粘贴到窗口 B 的 vi 里

在粘贴时,你可能会首先看到一个报警,类似这样的:



然后在复制的结果里,那个换行的内容就真的变成两行了。在它的前一行的末尾,会多出来空格。

以上操作步骤在这个系统上复现,虽然不是 Insider Program,不过这个版本不能算是特别旧吧?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/391411

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX