widows下 vscode 的 terminal / powershell,ctrl+v失灵,输出^v

问题

在这里插入图片描述

原因

最近装了PSReadLine

Import-Module PSReadLine

Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle InlineView
Set-PSReadLineOption -EditMode Emacs

vscode不兼容

解决方法

注释掉最后面的

Import-Module PSReadLine

Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle InlineView
#Set-PSReadLineOption -EditMode Emacs

问题解决

原理

Set-PSReadLineOption -EditMode Emacs的作用

Set-PSReadLineOption -EditMode Emacs 是 PowerShell 中的一个命令,用于设置 PowerShell 的命令行编辑模式为 Emacs 模式。

PowerShell 使用 PSReadLine 模块来提供命令行编辑功能,这个模块支持多种编辑模式,包括 Emacs 模式和 Vi 模式。Emacs 模式是一种常见的命令行编辑模式,它提供了许多快捷键和功能,类似于在 Emacs 文本编辑器中的操作。

以下是一些常见的 Emacs 模式快捷键:

  • Ctrl+A:移动光标到行首

  • Ctrl+E:移动光标到行尾

  • Ctrl+B:光标向后移动一个字符

  • Ctrl+F:光标向前移动一个字符

  • Ctrl+P:上一条历史命令

  • Ctrl+N:下一条历史命令

  • Ctrl+D:删除光标下的字符

  • Ctrl+K:删除从光标到行尾的所有字符

  • Ctrl+U:删除从光标到行首的所有字符

通过运行 Set-PSReadLineOption -EditMode Emacs,你可以将 PowerShell 的命令行编辑模式切换到 Emacs 模式,从而使用这些快捷键来提高命令行编辑的效率。

什么是Emacs

Emacs 模式是一种文本编辑模式,最初源自于 Emacs 文本编辑器,后来被广泛应用于各种命令行和文本编辑环境中。Emacs 模式以其丰富的快捷键和强大的编辑功能而闻名。

在 Emacs 模式下,用户可以通过组合键(通常是 CtrlMeta 键,Meta 键在现代键盘上通常对应 Alt 键)来执行各种编辑操作。以下是一些常见的 Emacs 模式快捷键:

  • Ctrl+A:移动光标到行首

  • Ctrl+E:移动光标到行尾

  • Ctrl+B:光标向后移动一个字符

  • Ctrl+F:光标向前移动一个字符

  • Ctrl+P:上一条历史命令

  • Ctrl+N:下一条历史命令

  • Ctrl+D:删除光标下的字符

  • Ctrl+K:删除从光标到行尾的所有字符

  • Ctrl+U:删除从光标到行首的所有字符

  • Ctrl+W:删除光标前的一个单词

  • Ctrl+Y:粘贴(yank)最后一次删除的内容

  • Ctrl+_:撤销上一次操作

Emacs 模式在许多命令行工具和编辑器中都有应用,包括 Bash、Zsh、PowerShell 等。通过使用 Emacs 模式,用户可以显著提高命令行编辑的效率和速度。

为什么对vscode终端产生影响

在 Visual Studio Code (VS Code) 中使用 PowerShell 终端并设置 Set-PSReadLineOption -EditMode Emacs 后,Ctrl+V 的行为可能会发生变化,这是因为 Ctrl+V 在 Emacs 模式下有特定的含义。

在 Emacs 模式中,Ctrl+V 通常用于向下滚动一屏(page down)。因此,当你在 VS Code 的终端中按下 Ctrl+V 时,它不会执行粘贴操作,而是执行 Emacs 模式下的滚动操作。

如果你希望在 VS Code 的终端中使用 Ctrl+V 进行粘贴操作,可以尝试以下几种方法:

  1. 使用右键菜单粘贴:在终端中右键点击,然后选择“粘贴”选项。

  2. 使用 VS Code 的粘贴快捷键:在 VS Code 中,你可以使用 Ctrl+Shift+VCmd+Shift+V(在 macOS 上)来进行粘贴操作。

  3. 修改 VS Code 的键绑定:你可以修改 VS Code 的键绑定,使其在终端中使用不同的快捷键进行粘贴。打开 keybindings.json 文件(可以通过 Ctrl+Shift+P 然后输入 Preferences: Open Keyboard Shortcuts (JSON) 来打开),添加以下内容:

    json
    复制
    {
        "key": "ctrl+v",
        "command": "workbench.action.terminal.paste",
        "when": "terminalFocus"
    }

    这将确保 Ctrl+V 在终端中聚焦时执行粘贴操作。

  4. 使用其他快捷键:你可以在 Emacs 模式下使用其他快捷键进行粘贴。例如,你可以使用 Ctrl+Y 来粘贴最后一次删除的内容。

通过这些方法,你可以在 VS Code 的终端中更方便地进行粘贴操作,同时保持 Emacs 模式的编辑功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/750759.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2021年12月电子学会青少年软件编程 中小学生Python编程等级考试三级真题解析(选择题)

2021年12月Python编程等级考试三级真题解析 选择题(共25题,每题2分,共50分) 1、小明在学习计算机时,学习到了一个十六进制数101,这个十六进制数对应的十进制数的数值是 A、65 B、66 C、256 D、257 答案&#xff…

浅析Resource Quota中limits计算机制

前言 在生产环境中,通常需要通过配置资源配额(Resource Quota)来限制一个命名空间(namespace)能使用的资源量。在资源紧张的情况下,常常需要调整工作负载(workload)的请求值&#xf…

MySQL周内训参照4、触发器-插入-修改-删除

触发器 1、用户购买商品时,要求库存表中的库存数量自动修改 详细示例 delimiter $$ create trigger stock_change after -- 事件触发在 下订单之后 insert -- 监视插入事件 on stock -- 监视 order订单表 for each row begin update stock set stockstock-new.st…

ROT5、ROT13、ROT18、ROT47全系列加解密小程序

ROT5、ROT13、ROT18、ROT47全系列加解密小程序 这几天在看CTF相关的课程,涉及到古典密码学和近代密码学还有现代密码学。自己编了一个关于ROT全系列的加、解密小程序。 ​ ROT5、ROT13、ROT18、ROT47 编码是一种简单的码元位置顺序替换暗码。此类编码具有可逆性&a…

音视频入门基础:H.264专题(8)——H.264官方文档的描述符

音视频入门基础:H.264专题系列文章: 音视频入门基础:H.264专题(1)——H.264官方文档下载 音视频入门基础:H.264专题(2)——使用FFmpeg命令生成H.264裸流文件 音视频入门基础&…

开发自动回复信息的插件:代码的力量与智慧!

在信息爆炸的时代,自动回复信息的插件成为了许多用户和管理者的得力助手,这些插件能够根据预设的规则或算法,自动、快速、准确地回复用户的信息,极大地提高了沟通效率和用户体验。 而开发这样一款插件,离不开一系列精…

这三款工具很好用,赶快试试

FileZilla FileZilla是一款免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。它是一个快速、可信赖的FTP客户端以及服务器端开放源代码程序,具有多种特色和直觉的界面。FileZilla客户端版是一个方便高效的FTP客户端工具…

校企合作,为人才培养注入新动力

树莓集团在校企合作育人方面取得了显著成效,通过共建专业、定制课程、实习实训等多种方式,实现了教育资源的优化配置和高效利用,为高校和企业提供了更多的发展机会和合作空间。 1、共建专业与实验室:树莓集团与高校共同建设数字产…

Transformer教程之Transformer的历史背景

在现代人工智能领域,Transformer模型已经成为一种不可或缺的技术,它在自然语言处理(NLP)和计算机视觉等多个领域取得了巨大的成功。本文将带你回顾Transformer的历史背景,了解它是如何从最初的构想到今天的广泛应用的。…

分享一款永久免费内网穿透工具——巴比达内网穿透

最近在做web项目,想办法将web项目映射到公网进行访问,由于没有固定IP,只能使用内网穿透的方法,于是在网上搜索了一番,只有神卓互联旗下的这款巴比达内网穿透是真正免费的, 其它的要么用不了、要么限制没有流…

springcloud-config 客户端启用服务发现client的情况下使用metadata中的username和password

为了让spring admin 能正确获取到 spring config的actuator的信息,在eureka的metadata中添加了metadata.user.user metadata.user.password eureka.instance.metadata-map.user.name${spring.security.user.name} eureka.instance.metadata-map.user.password${spr…

Dataease配置Nginx代理

Dataease配置Nginx代理 一.修改前端静态资源地址和后端接口地址 **1.**修改应用程序的上下文路径 配置文件地址:backend/src/main/resources 找到文件application-whole.properties,做如下修改: **2.**修改前端静态资源路径和打包配置 配…

产品经理面试指南:四大专栏助你成功上岸

面对产品经理的职位面试,你是否感到有些紧张和迷茫?不用担心,我们为你精心准备了四大面试专栏,包括产品经理专业面试、部门负责人复试、HR面试以及面试技巧,让你在面试过程中如鱼得水,轻松应对。 01 产品经…

ScheduledThreadPoolExecutor和时间轮算法比较

最近项目中需要用到超时操作,对于不是特别优秀的timer和DelayQueue没有看。 Timer 是单线程模式。如果某个 TimerTask 执行时间很久,会影响其他任务的调度。Timer 的任务调度是基于系统绝对时间的,如果系统时间不正确,可能会出现…

视频多功能闪剪助手,智能去重去水印一键剪辑

这款软件具有全平台去水印的功能,无论视频来自哪个平台,无论水印的位置如何变换,它都能轻松去除。同时,它还支持各种去重方法,无论重复内容的形式如何,它都能一一识别并移除,让你的视频内容始终…

干货:ANR日志分析全面解析

ANR类型 出现ANR的一般有以下几种类型: 1:KeyDispatchTimeout(常见) input事件在5S内没有处理完成发生了ANR。 logcat日志关键字:Input event dispatching timed out 2:BroadcastTimeout 前台Broadcast:onReceiver在…

深圳技术大学oj B : 所有不含逆序对的组合数

Description 数组中可能包含重复的数字, 求由这些数字组成的不重复字符串, 且字符串中不包含逆序对。 Input 有若干组测试数据,(1~20之间) 每一组测试数据第一行输入一个整数 n (0 ≤ n ≤ 20)&#xff…

【Micro-ROS学习】

Micro-ROS 是专为 ROS 2 设计的,它允许在微控制器(microcontrollers)上实现ROS 2的功能。Micro-ROS 从 ROS 2 架构优化而来,目的是让那些资源有限的嵌入式设备也能够接入ROS 2生态系统,享受ROS 2带来的标准化通信、模块…

【Redis】三大Redis内存分析工具介绍(Redisinsight、RDR、RMA)

一、RedisInsight工具介绍 RedisInsight是一款Redis官方开源的可视化管理工具,旨在帮助开发人员和管理员更轻松地设计、开发和优化Redis应用程序。以下是关于RedisInsight的详细介绍: 1、工具概述 定义:RedisInsight是一个直观且高效的Red…

MySQL高级-索引-使用规则-覆盖索引回表查询

文章目录 1、覆盖索引1.1、查看索引1.2、删除单列索引 idx_user_pro1.3、查询 profession软件工程 and age31 and status01.4、执行计划 profession软件工程 and age31 and status01.5、执行计划 select id,profession,age,status1.6、执行计划 select id,profession,age,statu…