V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
apolodu
V2EX  ›  Vim

关于 MAC 上 VIM 自动补全快捷键 CTRL- SPACE

  •  
  •   apolodu · 2018-06-28 08:01:40 +08:00 · 4791 次点击
    这是一个创建于 2343 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言:

    关于 vim 代码补全的问题, 断断续续地研究了很久了, 之前用的是 deoplete 和 tern-for-vim, 安装好了却对 js 代码毫无反应 . 今天总算是把 YCM 给装上了, 解决了之前老是遇到 python 支持上的问题, 方法是将系统使用 anaconda 提供的 python 换掉 (anaconda 自带的 python 不支持 YCM).

    关于自动补全键位 ctrl - space

    我阅读了很多页面, 都说用 ctrl-space 可以触发 vim 的自动补全, 然而这个快捷键和 mac 上切换输入法的快捷键冲突了, 所以问题来了: 使用 mac 的大佬们是如何更改键位的?

    btw 最近在 2016 mbp13" 上主力使用 vim + tmux, 经常使用自带的 prefix ,然而手腕却开始感到不适了, 所以大佬们有什么好的改键位建议吗?

    16 条回复    2018-09-30 00:22:34 +08:00
    joshua7v
        1
    joshua7v  
       2018-06-28 08:58:03 +08:00 via iPhone
    之前用 deoplete+tern 最近 tern 经常超时不好使
    换成用 tsserver 补全 js 了 够用
    日常 tmux+vim 没什么问题 caps lock 改成了 ctrl
    至于补全快捷键 一般是打字自动弹出 手动补全<c-k>
    aaronzjw
        2
    aaronzjw  
       2018-06-28 09:03:33 +08:00 via iPhone
    小脚本用 vim,其他 vscode
    Aura7988
        3
    Aura7988  
       2018-06-28 09:22:56 +08:00
    设置->键盘->快捷键->输入法,可以修改切换输入法的的默认切换键位
    Aura7988
        4
    Aura7988  
       2018-06-28 09:28:51 +08:00   ❤️ 1
    caps lock 改成 Ctrl,prefix 设置为 Ctrl + f,按起来更方便。Ctrl + f 除了在 vim 里面用来翻页,别的没发现什么作用。
    我看到很多人设成了 Ctrl + a,这个建在 bash 里面是用来回到行首的,在 vim 里面可以对数字加 1,都挺方便的,设成 prefix 浪费了。
    jmc891205
        5
    jmc891205  
       2018-06-28 11:03:33 +08:00
    在 vim 配置文件里把触发 YCM 自动补全的键位替换成你喜欢的

    https://github.com/Valloric/YouCompleteMe#the-gycm_key_invoke_completion-option
    seawing
        6
    seawing  
       2018-06-28 13:18:48 +08:00
    @Aura7988 ctrl + f 在 bash 和 emacs 里面用来向右移动光标,还是蛮方便的。。。推荐 ctrl + q。。。
    Aura7988
        7
    Aura7988  
       2018-06-28 15:00:40 +08:00
    @seawing 👍今天才知道这个快捷键。
    seawing
        8
    seawing  
       2018-06-28 23:14:40 +08:00
    @Aura7988 ctrl + p/n/b/f 分别代表上下左右,有这四个键基本就在 bash 里告别方向键了,bash 又是抄的 emacs
    apolodu
        9
    apolodu  
    OP
       2018-06-30 04:33:53 +08:00
    @Aura7988
    请问 CapsLock 改 Ctrl 是为何? 几乎没有用到过 CapsLock ...
    Aura7988
        10
    Aura7988  
       2018-06-30 11:19:37 +08:00
    @apolodu 系统偏好设置 -> 键盘 -> 键盘 -> 修饰键
    Aura7988
        11
    Aura7988  
       2018-06-30 11:23:09 +08:00   ❤️ 1
    @apolodu 看错了,一开始以为问怎么改呢。CapsLock 位置好,但 Ctrl 键用的更频繁,交换一下位置,使用起来更高效。
    apolodu
        12
    apolodu  
    OP
       2018-07-01 05:23:08 +08:00
    @Aura7988 嗯, 你的意识是用 CapsLock 来代替 ctrl 对吧. 不过这么做的话不是会一直去切换系统的大小写吗, 怎解决这个问题呢??

    btw 发现 ycm 的自动补全导致我的 neovim 变得挺卡的, 有什么解决办法吗 o(╥﹏╥)o
    Aura7988
        13
    Aura7988  
       2018-07-01 21:31:42 +08:00   ❤️ 1
    @apolodu 是互换这两个键的功能,互换后 CapsLock 键不再具有切换大小写的功能了。
    neovim 没有用呢,不清楚。
    apolodu
        14
    apolodu  
    OP
       2018-07-03 07:46:06 +08:00
    @Aura7988 嗯 明白了. 这样互换之后, 确实按组合键会舒服很多. 不过在系统级别的快捷键上可能又容易搞忘, 大概贴个标记会好些😂.
    InDown
        15
    InDown  
       2018-09-29 14:22:23 +08:00
    @joshua7v 你好,我从 tern 换到 tsserver,并不能正常工作,请问有什么坑吗?
    joshua7v
        16
    joshua7v  
       2018-09-30 00:22:34 +08:00
    @InDown 没啥坑,记得设置`let g:nvim_typescript#javascript_support = 1`
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2775 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:25 · PVG 08:25 · LAX 16:25 · JFK 19:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.