У меня есть простая цель: сопоставить Ctrl-C, команду, которую я никогда не использовал для уничтожения vim, для автоматической вставки в начале строки правильного символа (символов), чтобы закомментировать эту строку в соответствии с тип файла файла.
Я подумал, что могу использовать автокоманду, чтобы распознать тип файла и установить для переменной vim правильный символ комментария, когда файл открыт. Итак, я попробовал что-то вроде:
" Control C, which is NEVER used. Now comments out lines!
autocmd BufNewFile,BufRead *.c let CommentChar = "//"
autocmd BufNewFile,BufRead *.py let CommentChar = "#"
map <C-C> mwI:echo &CommentChar<Esc>`wll
Эта карта отмечает мое текущее местоположение, переходит к началу строки в режиме вставки, отображает символ(ы) комментария в этой точке, переходит в командный режим, возвращается к установленной отметке и переходит к двум символов справа, чтобы компенсировать вставленные символы комментария (при условии, что комментарий в стиле C).
Выделенная курсивом часть - это та часть, с которой у меня возникли проблемы; он существует только в качестве заполнителя для представления того, что я хочу сделать. Можете ли вы помочь мне понять, как этого добиться? Бонусные баллы, если вы используете strlen(CommentChar) для шага вправо на правильное количество пробелов! Дополнительные бонусные баллы за vim-master, который включает в себя, как делать комментарии в стиле блока, если вы находитесь в визуальном режиме!
Я все еще новичок в написании сценариев vim; мой .vimrc состоит всего лишь из 98 строк, так что не могли бы вы помочь мне, объяснив любые ответы, которые вы даете! Спасибо.
=
потрясающий :) 06.10.2010wll to
w:exe normal .strlen(CommentChar).l‹CR›, чтобы вернуть курсор в нужное место). Также благодаря вам я отказался от своего скрипта и теперь использую NERDCommenter! Но, по крайней мере, я узнал больше о vim в процессе. 06.10.2010