Yeni satırlara otomatik olarak nasıl girintili olabilirim?


15

Çeşitli girinti seviyelerine sahip projeler üzerinde çalışıyorum. Bu projelerin çoğunda, dosyaların tipik olarak nasıl yapılandırıldığından, çoğu satır en az iki seviyeye girintilidir (Java dosyalarındaki yöntemler gibi).

Bu, bir çizgi hattındayken yeni bir çizgi oluşturmanın anlamına gelir

public void something () {

İmlecimi otomatik olarak girintili bir sonraki satıra getirir

public void something () {
    [cursor]

Sıralamak için sekme tuşuna yeni bir satırda birkaç kez vurabilsem de, bunu yapmanın daha iyi bir yolu var mı (otomatik olarak mümkün)?

Yanıtlar:


12

Bu, autoindentseçenek ve filetypeeklentinin bir kombinasyonu kullanılarak yapılabilir .

autoindentYeni bir satır oluştururken seçenek mevcut girinti kopyalar. Dolayısıyla, yeni satırı başlattığınızda geçerli girinti düzeyiniz 4 ise, imleç sonraki satırda aynı girinti düzeyine taşınır.

Senin içinde ~/.vimrcdosyaya, sen koyardı

set autoindent

filetypeDosya türüne göre bir sonraki girinti seviyesini otomatik olarak belirlemek için eklentiyi de kullanabilirsiniz .

İle anında etkinleştirebilirsiniz

:filetype indent on

Veya ~/.vimrcdosyanızın içine

filetype plugin indent on

Hangi dosya türüne göre girintiyi otomatik olarak belirler.


6

Kullanım :set cindent( :set cinkısaca) ya da :set smartindent( :set sikısaca). Çizginiz bir açılış ayracıyla biterse ve vurursanız Enter, aşağıdaki satır otomatik olarak bir ek düzey girintili olacaktır. (Bu, :set autoindentyalnızca bir sonraki satırı aynı düzeyde girintili yapandan daha iyidir .) cindentC benzeri diller için daha iyi uyarlanırken smartindent, diğer programlama dilleriyle kullanım için daha çok yönlüdür.

Miktarı ve girinti tipi ile kontrol edilir :set shiftwidth=…, :set tabstop=…ve :set expandtab.


'smartindent'kullanımdan kaldırıldı, bu yüzden bu en iyi seçim değil. Yerine C benzeri diller için 'cindent've yerini almıştır 'cinoptions'. Bununla birlikte, genel olarak, dosya türü girintisi, 'autoindent'bir yedek olarak gitmenin yoludur .
jamessan

@jamessan itiraz edilmiyor smartindent, ancak kayda cindentdeğer. Cevabı güncelledim. (Teşekkürler!)
200_success

Ayrıca editorconfig.org'a bir göz atmanızı tavsiye ederim . Elbette vim (ve diğer birçok editör) için bir eklenti var ve VCS'nizde editörünüzün varsayılanlarını korumanın harika bir yolu
Cyber ​​Oliveira

0

Dosyanın altında şunu kullanıyorum:

# vim: ts=2 sw=2 sts=2 sr noet st ai si

Örneğin Dockerfile:

FROM centos-7
RUN ...
CMD ...

# vim: ts=2 sw=2 sts=2 sr noet st ai si

Sadece girintiyi korumak istiyorsanız, # vim: st ai si

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.