Я пытаюсь настроить некоторые сочетания клавиш / макросы для комментирования / раскомментирования блоков текста в моем .vimrc, но мне не удается заставить его работать.
Я определяю некоторые переменные:
let g:comment_id='~'
autocmd BufRead,BufNewFile *.c,*.cpp,*.cxx,*.h,*.hpp,*.hxx,*.ipp let b:comment_open='//'
autocmd BufRead,BufNewFile *.f90,*.F90 let b:comment_open='!'
А потом я пробую разные способы их использования, но каждый раз, когда это не удается:
noremap <silent> ,cc :s/^/<C-R>=(b:comment_open.g:comment_id)/<CR>:nohlsearch<CR>
noremap <silent> ,uc :s/<C-R>=(b:comment_open.g:comment_id)//<CR>:nohlsearch<CR>
-> E15: недопустимое выражение: /, E15: недопустимое выражение: (b: comment_open.g: comment_id) //
noremap <silent> ,cc :s/^/<C-R>=(b:comment_open.g:comment_id)<CR>/<CR>:nohlsearch<CR>
noremap <silent> ,uc :s/<C-R>=(b:comment_open.g:comment_id)<CR>//<CR>:nohlsearch<CR>
-> E488: завершающие символы
noremap <silent> ,cc :s/^/\=(b:comment_open.g:comment_id)/<CR>:nohlsearch<CR>
noremap <silent> ,uc :s/\=(b:comment_open.g:comment_id)//<CR>:nohlsearch<CR>
-> cc: ok, uc: E64: \ = ничего не следует, E476: недопустимая команда
Я на самом деле не могу понять, как 'CR' и \ = работают и значат ...
Спасибо за вашу помощь