有办法在 vscode terminal 中的 vim 实现 map Command+c/v/s/a 映射吗?

2022-07-04 17:47:56 +08:00
 a132811

我 vim 编辑快捷键和其它 editor 、app 、在线编辑器都保持了几乎所有快捷键的一致性,包括:

# 通过 Karabiner 实现的全局 readline 快捷键一致, 包括: 
ctrl+a/e, ctrl+u,ctrl+k, ctrl+f/b
ctrl+n/p 等等

# command 操作全局复制、粘贴、保存、全选快捷键一致
command+c
command+v
command+s
command+a

唯独例外是,我在 vscode terminal 的 vim 中,不能成功 map command ,不能做到通过按 command+s 保存。

iterm2 中的 vim

我是通过修改 iterm2 keys 映射实现 command 键的.

比如将 command+s 映射为 Send Hex code: ^[As,然后 vim 执行 map 绑定

" Save
nnoremap <M-A>s :up<CR>
inoremap <M-A>s <C-o>:up<CR>

vscode terninal vim

在 vscode terninal 中打开 vim (不是 vscode vim 插件自己的 map )

我没有找到什么方法可绑定: command+s

1099 次点击
所在节点    Vim
2 条回复
Alliot
2022-07-05 10:17:26 +08:00
开启了鼠标模式?
:set mouse=
a132811
2022-07-05 16:29:30 +08:00
@Alliot 开不开 mouse 都不行的。
应该是 terminal 本身拦截了 command

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

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

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

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

© 2021 V2EX