I wonder is there a possibility to write an if statements here, I mean moving the cursor in the beginning of the line and check if the first two characters is backslash, if yes, then delete twice, if not, do nothing
Isso é certamente possível. No entanto, é muito mais simples se feito com um regex simples:
nnoremap <leader>' :s/^\/\/<cr>
Felizmente, podemos escolher o separador a usar, por isso, não precisaremos sair das barras se alterarmos os separadores:
nnoremap <leader>' :s;^//<cr>
Como observação, se você executar isso em uma macro e executá-lo em uma linha sem um comentário no início, a macro não será mais executada. Se você não quiser que isso aconteça, adicione o sinalizador /e
, por exemplo:
nnoremap <leader>' :s;^//;;e<cr>
Além disso, se você quiser também descomentar linhas onde o comentário após algum espaço em branco, por exemplo:
//Remove these comments
//And these ones too
Então eu faria:
nnoremap <leader>' :s;^\s*//<cr>