我正在尝试将自动完成键从“Enter”键重新映射到“TAB”,因为当我打算转到下一行时,我会继续自动完成。下面的代码是 coc 的默认选项,我认为这是我应该能够重新映射密钥的地方。
" make <CR> auto-select the first completion item and notify coc.nvim to
" format on enter, <cr> could be remapped by other vim plugin
inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm()
\: "\<c-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
Run Code Online (Sandbox Code Playgroud)
我认为将开头的 <cr> 更改为 <TAB> 就可以了。然而,虽然它确实允许我使用 TAB 自动完成,但在某些情况下它会产生奇怪的自动缩进。例如:
//normal behavior
someFunction(){
//cursor here appropriately indented
}
//behavior after I made the changes mentioned above
someFunction(){
//cursor here}
Run Code Online (Sandbox Code Playgroud)
我想我只是根本不理解 coc 或 VIM 中重新映射键的一些东西。
为什么我不能简单地将 <cr> 更改为 <TAB>?如何将自动完成键从“Enter”重新映射到“TAB”?
我正在尝试使用 vim,并尝试将配色方案更改为 Nord 主题。但是,某些颜色和背景颜色似乎不起作用。我尝试使用德古拉主题,效果很好。在设置这个特定的配色方案时,我缺少什么吗?我还需要配置其他东西吗?由于将配色方案设置为 Nord 时至少部分颜色会发生变化,因此我相信安装不是问题。
我不确定这些信息是否有用,但我只是在 mac OSX High Sierra 10.13.6 上使用终端应用程序。对于 vim,我使用 vim 8.2 和 vim-plug 作为插件。
到目前为止,这就是我的 .vimrc 中的全部内容。
call plug#begin('~/.vim/plugged')
Plug 'arcticicestudio/nord-vim'
call plug#end()
syntax on
colorscheme nord
set background=dark
set nu
Run Code Online (Sandbox Code Playgroud)