У меня на .vimrc
есть следующее
imap {<Space> {<Space><Space>}<left><left>
imap { {<CR>}
imap {<CR> {<CR><CR>}<Up>;<Esc>==i
imap ( ()
imap () ()
inoremap <silent> (. ().<C-x><C-o>
inoremap <silent> (- ()-><C-x><C-o>
imap (<space> (<space><space>)<left><left>
imap [ []
imap [<space> [<space><space>]<left><left>
inoremap " ""<left>
inoremap "" ""
хорошо, объяснения:
когда вы нажимаете {, иногда вы хотите разбить строку, поставить и завершить}, но иногда вы просто хотите остаться в той же строке, например: a = {1,2,3};
#
означает, где находится курсор:
Итак, когда вы нажимаете {
и сразу после этого вы нажимаете пробел -> { # }
когда вы нажмете {
после небольшой задержки или использования любого другого, кроме пробела, строка будет прервана
когда вы нажмете {
сразу после ввода, код будет:
foo(){
#
}
Когда вы нажмете (.
, вы получите ().<call to omnicomplete>
Простое пространство имен строк :: Singleton :: Create ().
Вы должны использовать inoremap
с "
, чтобы избежать бесконечности. "" "" "" "" "" "" "" "" "" "" ""