2011-01-22 8 views
11

, ("" geçerli imleç konumu):İçinde parantez olduğunda otomatik yeni çizgi ve girinti in vim? | Ben vim jQuery kodlama yapıyorum ve ekleme modunda bu varsa, örneğin

$('#something').click(function(){|}) 

... ve Giriş tuşuna, ben istiyorum Bu almak için:

$('#something').click(function(){ 
    | 
}) 

... şu anda, bu alıyorum ederken:

$('#something').click(function(){ 
|}) 

aynı şey PHP'de fonksiyon tanımları ile olur. Ekstra yeni çizgiyi otomatik olarak eklemek ve bu şekilde parantez içine girerken imleç pozisyonunu girmek için bir yol var mı?

(Özür önce bu istendi eğer - bu ortak istek gibi görünüyor ama Bi süre arandı ve onu bulamadık.) Ben javascript.vim kullanmak

cevap

3

" Make it so that a curly brace automatically inserts an indented line 
inoremap {<CR> {<CR>}<Esc>O<BS><Tab> 

<BS><Tab> parça gerekli değildir gibi görünüyor izler, ama nedense genellikle Ç komutu gibi düzgün girinti değildi gibi ben sadece .vimrc içine bu hardcoding sona erdi

öyle, onu eklemek zorundaydım.

1

(neredeyse) JavaScript kodu için istediğini yapar ki .

Ayrıca bir php.vim da var, ancak test etmedim.

+0

Hmm, Zaten javascript.vim'i başarıyla kullanıyorum. Ekstra yeni satır çalışması için ekstra bir şey yapmak zorunda mıydınız? –

+0

@Mike: İlk olarak, orada belirtilen aynı sürümü kullanıyorsunuz ve onu doğru yere koydunuz (~/.vim/girintisinde). İkincisi, .vimrc'inizde "smartindent" ve "autoindent" var mı? –

+0

evet ve evet. Bir göz atmak isterseniz: https://github.com/mikecrittenden/vimstuff (tabii ki :)) –

0

Sürümüm benzer ancak JavaScriptLint.vim tarafından doğrulamayı tetikleyeceği için <Esc> yerine <C-o> kullanır.

Ayrıca, gerçekten ctrl + eşlenmiş böylece her {} birden hatlarda olmak istemiyoruz.

inoremap <C-Return> <CR><CR><C-o>k<Tab>