diff --git a/runtime/lua/vim/lsp/inline_completion.lua b/runtime/lua/vim/lsp/inline_completion.lua index 6853baf84d..1d31cd8b24 100644 --- a/runtime/lua/vim/lsp/inline_completion.lua +++ b/runtime/lua/vim/lsp/inline_completion.lua @@ -344,7 +344,9 @@ function Completor:accept(item) lines ) local pos = item.range.start:to_cursor() - api.nvim_win_set_cursor(vim.fn.bufwinid(self.bufnr), { + local win = api.nvim_get_current_win() + win = api.nvim_win_get_buf(win) == self.bufnr and win or vim.fn.bufwinid(self.bufnr) + api.nvim_win_set_cursor(win, { pos[1] + #lines - 1, (#lines == 1 and pos[2] or 0) + #lines[#lines], })