2010-02-24 11 views
6

Kendimi vim içinde çalıştırdığım iki arama/değiştirme komutum var html kodunu temizlemek için, böylece çevrimiçi kopyalayıp yapıştırabilirim. komutlar şunlardır: Ben bu komutları hem haritasına olabilecek bir yol istedi VIM: vimrc'ye nasıl arama/değiştirme komutu eklenir ve bir kısayolla eşleştirilir

:%s!<!\&lt;!g 
:%s!>!\&gt;!g 

birlikte çalıştırılmak üzere ... Bazı Ancak vimrc içinde :map komutlarını nasıl kullanılacağı için arama vermedi, ben göremiyorum İki satırı, tek tuşla (veya tek bir vuruş dizisi) çalıştırılan tek bir komutta nasıl birleştirilir.

Teşekkürler!

cevap

10

isteyen olursa olsun anahtar ile değiştirilebilir.

:%s!<!\&lt;!g|%s!>!\&gt;!g 

Ama HTML kodlamak kuruluşlara kalıbını değiştirecek/Bu aramayı kullanıyorsanız map komuta

:map <F3> :%s!<!\&lt;!g\|:%s!>!\&gt;!g<CR> 
+0

içinde gdefault ayarlamak için kullanıyorum Bu neredeyse doğru. Vim'de, ilk komut hataları (eğer ilk komut eşleşme bulunmazsa gerçekleşir) ikinci komut çalıştırılamaz. Bu davranışı bastırmak için, aşağıdaki gibi bir e işareti ekleyin: ': map :% s! ! \ >! Ge ' – pjb

0

Denemedim, ancak "<CR>" ile ayrılan aynı satıra yerleştiremez misiniz? Tabii

1
:map <F3> :%s!<!\&lt;!<cr>:%s!>!\&gt;!<cr>  

Eğer bir bar ile ayrılmış tek bir satırda komutları koyabilirsiniz

+0

Üst üste bir çiftim olsaydı, bu işe yaramadı ... örneğin: >>>> sadece ilkini değiştirip bir sonraki satıra geçsin. – thornomad

+1

Bu sadece 'g' değiştiricisinin eksik olması. – nickd

+0

Ah üzgünüm, sadece benim .vimrc –

3
 
:TOhtml 

varlık kaçan dahil olmak üzere önceki tampon HTML-ize içeren yeni tampon oluşturur. Daha fazla bilgi için bkz. :h TOhtml.