Neovim - 使用原生自动完成的快捷键 Ctrl + n

你好, 我想在neovim中添加一个快捷键以利用其原生自动完成功能,该功能可通过 Ctrl + n 激活,在插入模式下输入时,我希望按下 tab 键即可自动补全。下面的代码对我很有用,尤其是 lua 代码。但是有一个问题:

当我使用此快捷键时,我失去了 tab 功能,我正在寻找一种方法,使此快捷键仅在光标前有单词时起作用;否则,tab 应正常工作。提前感谢您的帮助。

Lua

map('i', '<Tab>', '<c-n>', {noremap = true})

Vimscript

imap <Tab> <c-o><c-n>

注意: 这个问题涉及到原生的 nvim 'Ctrl + n' 自动完成,而不是自动完成插件。谢谢。

原文链接 https://stackoverflow.com/questions/70864971

点赞
stackoverflow用户19875864
stackoverflow用户19875864
inoremap <expr><Tab> CheckBackspace() ? "\<Tab>" : "\<C-n>"

function! CheckBackspace() abort
  let col = col('.') - 1
  return !col || getline('.')[col - 1]  =~# '\s'
endfunction

我从coc.nvim插件的示例配置中获取了CheckBackspace()函数。

2023-02-10 06:57:49