How to customize keyboard shortcuts and syntax (for different programming languages)?

Hello, since I use a different keyboard layout other than qwerty, can I customize all the keyboard shortcuts? And is it possible to change to the different syntax for a different programming language? If you want can you also share your experience as a developer using neovim? Also, can you explain what config file does in neovim, and what language does it use? (please provide a tutorial or a link to my questions, thanks!!)

  1. The customization of shortcuts depends on what you want to customize. For example if you want to customize the plugin based shortcuts than there will be some plugin config you have to copy or modify. For example if you want to modify cmp keymaps you will have to modify the cmp keymaps table. Almost all the plugins give you the basic config to start with. So you can do it easily. If you want to modify some inbuilt like jk for cursor movements you can do it by
nnoremap j e
nnoremap e j
nnoremap k n
nnoremap n k

I use the above remaps to get jk under my fingers as I normally work on workman layout and jk are in an unreachable place. I would suggest to use noremap( non recursive maps) to do the above as map could cause looping of keymaps.
As for 2, I did not get your question
3. I have been using neovim for about a year now for normal web, backend and python development and it has been one of the best choices I ever made,
4. check :h config for 4 and you can read Alpha2phi’s tutorials for more config examples and tutorials.

For a different keyboard language, you might want to set langmap. See this example guide for Dvorak layout: https://vim.fandom.com/wiki/Using_Vim_with_the_Dvorak_keyboard_layout, and of course consult the :help 'langmap'.