Hi, I’m new to neovim so there’s a decent chance this is just a rookie mistake. I wanted to make an autocmd to remap F5 to running the (python) file. I found a stack overflow post on how to do this (https://stackoverflow.com/questions/18948491/running-python-code-in-vim ) but that was for vim. I tried my best to translate if for neovim using some other tutorials I found (and doing my best at understanding docs), what I came up with is this:
local api = vim.api
local RunFile = api.nvim_create_augroup("RunFile", { clear = true })
api.nvim_create_autocmd(
"FileType",
{
callback = "map <buffer> <F5> :w<cr>:exec '!python3' shellescape(@%, 1)<cr>",
pattern = "python",
group = RunFile,
}
)
however when I include the file in my init.lua, not only does it not work (the autocmd doesn’t even show up when looking in :au FileType
, let alone run) it also makes the text a boring white and when I try to format, it gives the error [
while I definitely do have the language server (it works when the autocmd file is not included in init.lua). I’m probably just making some simple mistakes, but I cannot for the life of me find what I’m doing wrong. Does anyone here have any suggestions?
For the record, I use lsp zero and treesitter ] Format request failed, no matching language servers.
hii, I’m not well versed with neovim but i just tried out your autocmd and it worked after i replaced “callback” with “command”
callback
accepts (Lua function or Vimscript function name string) whilecommand
accepts (Ex command string).check
:h nvim_create_autocmd()
for more info