Я хочу отобразить \ c, чтобы прокомментировать текущую строку в vim (добавьте '//' перед первым непустым в строке) и \ d, чтобы удалить '//' в начале строки (раскомментируйте).
Я добавил эти две строки в свой vimrc:
imap \c <Esc>:s/^/\/\/ <CR>j$a
imap \d <Esc>:s/^\/\/ /<CR>j$a
, но когда я вызываю это в этой строке:
for (int i = 0; i < n; i++)
, тогда он преобразуетсяв:
// for (int i = 0; i < n; i++)
, но я хочу преобразовать его в:
// for (int i = 0; i < n; i++)
одна из причин, по которой я хочу это, заключается в том, что когда я хочу, чтобы vim делал отступ в этой строке, он добавляетдополнительная вкладка в начале строки и преобразовать ее в:
// for (int i = 0; i < n; i++)
что мне делать?Я думал, что ^ относится к первому непустому символу строки, но это не так.
PS: я нашел эти две команды, но я не знаю, что они делают.не могли бы вы объяснить их мне (потому что мне нужно их запомнить, и их легче запомнить, когда я узнаю, кто они).если какая-то часть из них не нужна, пожалуйста, скажите мне:
imap \c <ESC>:s,^\(\s*\)[^/ \t]\@=,\1// ,e<CR>j$a
imap \d <ESC>:s,^\(\s*\)// \s\@!,\1,e<CR>j$a