vim - 将命令 s 映射到 :w in vim

标签 vim terminal osx-elcapitan

如何映射 Command S:w在vim中?

我已经尝试了其他线程中的所有内容,但在 Mac OS X El Capitan 中似乎没有任何效果。

据说这在以前的版本中有效,但我尝试过,但没有成功。

noremap  <silent> <C-S>    :update<CR>
vnoremap <silent> <C-S>    <C-C>:update<CR>
inoremap <silent> <C-S>    <C-O>:update<CR>

我能找到的关于这个主题的所有东西都已经有好几年了,不再起作用了。我可以找到 this线程或 this线程,但他们都超过三年,不再工作。这就是为什么我要当前版本的 Mac OS X (El Capitan)

最佳答案

  • <C-是 Control 键的符号。它是 <D-用于命令键。
  • Command 键仅对 MacVim 可见,并且仅在使用 GUI 前端时可见。无论您在 Terminal.app 或 iTerm.app(MacVim 或任何其他版本)中使用什么 Vim,它都不会看到命令键。

    换句话说,你不能指望<D-在 CLI Vim 中工作的映射。这是不可能的。
  • 让 CLI Vim 在 Mac OS X 上按 Cmd+something 执行任何操作的唯一方法是在终端模拟器中映射该组合以模拟按下另一个键,该键本身映射到 Vim 中的所需命令。

    ~/.vimrc
    nnoremap <F6> :w<CR>
    

    在 iTerm.app...

    enter image description here

    仅供引用,0x112<F1> , 0x113<F2>等我的选择<F6>是任意的,使用任何对你有用的东西。

    在 Terminal.app...

    我没有 El Capitan,所以我不知道可以在新的 Terminal.app 中做什么,但它以前的化身不允许您重新映射任意键——只有一个预定义的集合——所以我认为这是不可行的这里没有一些假设的第三方工具。
  • 在 Vim 中使用 Cmd+S 的整个想法非常糟糕。习惯了 Vim 的方式。
  • 关于vim - 将命令 s 映射到 :w in vim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33060569/

    相关文章:

    javascript - 在 OS X (El Capitan) 上从 JavaScript 发送和接收 "raw"Apple 事件

    vim - gvim 中是否可以有垂直而不是水平的 GTK 选项卡?

    Python:打开并在特定行显示文本文件

    linux - 在大量 diff 文件上从 vimdiff 中断

    vim - 根据文件类型禁用 NeoComplCache

    终端中的java未完成

    在 El Capitan 更新后 Haskell 和 Cabal 失踪

    perl - El Capitan perl DBD 不安全地使用相对路径

    linux - 使用 PuTTY 向 Linux 终端发送命令

    linux - 如果 Bash 中显示特定错误,如何在 for 循环中继续重复迭代?