http://vim.wikia.com/wiki/Toggle_auto-indenting_for_code_paste
Kod yapıştırma için otomatik girintiyi değiştir
Arka fon
Metin yapıştırmak için Vim komutlarını kullanırsanız, beklenmeyen bir şey olmaz. Sorun yalnızca başka bir uygulamadan yapıştırırken ve yalnızca Vim'in GUI sürümünü kullanmadığınızda ortaya çıkar. Vim'in bir konsol veya terminal sürümünde, başka bir uygulamadan metin yapıştırmak için standart bir prosedür yoktur. Bunun yerine, terminal klavye arabelleğine metin ekleyerek yapıştırmayı taklit edebilir, böylece Vim, metnin kullanıcı tarafından yazıldığını düşünür. Her satır bittikten sonra, Vim imleci hareket ettirebilir, böylece bir sonraki satır bir öncekiyle aynı girinti ile başlar. Ancak, bu zaten yapıştırılan metnin girintisini değiştirir.
Geçişi yapıştır
Aşağıdakini vimrc'nize koyun (istediğiniz anahtarla değiştirin):
set pastetoggle=<F2>
Başka bir uygulamadan yapıştırmak için:
- Ekleme modunu başlat.
- F2 tuşuna basın ('yapıştırma' seçeneği açıkken).
- Panodan metin yapıştırmak için terminalinizi kullanın.
- F2 tuşuna basın ('yapıştırma' seçeneğini kapalı konuma getirir).
Sonra yapıştırılan metnin varolan girintisi korunur.
Önce ekleme modunu başlatmanız gerekmez, ancak normal moddaysanız ve F2 için bir eşlemeniz varsa, bu eşleme geçerli olur ve 'pastetoggle' işlevi çalışmaz.
Bazı kişiler, durum satırında gösterilen görsel geri bildirimi, vimrc'niz için aşağıdaki alternatifi sever:
nnoremap <F2> :set invpaste paste?<CR>
set pastetoggle=<F2>
set showmode
İlk satır, F2'ye normal modda basmak, 'yapıştırma' seçeneğini tersine çevirecek ve daha sonra bu seçeneğin değerini gösterecek şekilde bir eşleme ayarlar. İkinci satır, ekleme modundayken 'yapıştırma' özelliğini açıp kapatmak için F2 tuşuna basmanıza izin verir. Üçüncü satır, 'yapıştırın' ekleme modunda açılıp açılmadığını göstermeyi sağlar.