Как по мне вся эта автоматика только тормозит процесс написания кода если ты владеешь методом слепого набора.
Я пыталась например писать функции в баш так:
Код: Выделить всё
autocmd FileType sh inoremap (<CR> () {<CR>}<Esc>O
То есть, в .vimrc скобочка и за ней клавиша enter в режиме вставки интерпретируется как
Можно по аналогии поэкспериментировать, например пробел и решётка переводятся как два таба и решетка (кроме как в комментариях, по-моему, после пробела решетка не ставится, например в строчных подстановках):
Код: Выделить всё
au FileType sh inoremap <space># <tab><tab>#
В режиме редактирования скрипта при нажатии на пробел редактор будет ожидать некоторое время для определения какой символ будет идти после и если это решетка то заменится на два таба и решетку или если другой символ или будет задержка отобразится просто пробел. Подобное у меня осталось в закомментированном виде в архиве как примеры которые не оправдали свою полезность.
Добавлено (14:03):
Можно еще в таких случаях определить например двойную решетку(по моему даже удобней):
Добавлено (14:31):
Ну может быть еще и так придется сделать: