I have multiple lines like the once below in .vimrc file.
nnoremap \html :-1read $HOME/.vim/snippets/html_basic.snippet<CR> nnoremap \bs :-1read $HOME/.vim/snippets/bootstrap.snippet<CR> ... more snippets like these
Problem is if I want to change my snippet directory
$HOME/.vim/snippets to something else like
$HOME/.vim/templates/ I would have to edit all the map commands above.
How can I refactor and execute the same map commands using variables containing snippet directory path? For instance, something like this ...
# variable holding snippet directory path let snippet_home = "$HOME/.vim/templates/" # map commands using $snippet_home variable value to read file contents nnoremap \html :-1read $snippet_home/html_basic.snippet<CR> nnoremap \bs :-1read $snippet_home/bootstrap.snippet<CR> ... more snippets like these
This way if I move or rename my
snippet directory I would have to simple update
snippet_home variable and all map commands remain the same.
Kindly suggest how do I achieve this in vimscript?
execute, the expression register, or expression mappings. Will experiment later and see what I find.