VIM Bagaimana Saya Dapat Memaksa VIM untuk Mengatur Kata Menurut Pilihan Saya?

0

Saya menulis dan belajar. Saya hanya ingin menulis beberapa teks dengan cara ini ....

- First line.
  Second line.
  Third line.

Tapi masalahnya adalah garis mulai dengan cara ini ...

- First line.
Second line.
Third line

Anda melihat perbedaannya? Yah saya melakukan riset dan menemukan thread di superuser yang merekomendasikan untuk menggunakan: set smartindent. Saya melakukannya. Bekerja. Tetapi masalahnya adalah ini sebenarnya memaksa Vim untuk mengikuti dari mana baris terakhir dimulai. Sekarang karena saya mulai baris dari tepi kiri editor sehingga Vim memulai setiap baris baru seperti yang ditunjukkan pada contoh kedua. Sekarang pertanyaannya adalah bagaimana saya bisa menulis baris seperti yang saya tunjukkan pada contoh pertama?

Hellboy
sumber

Jawaban:

0

Mengapa Anda mengharapkan editor untuk selalu memilih indentasi yang tepat? Dengan mengkonfigurasi tertentu indentasi pengaturan (seperti yang baik dan universal :set smartindent ), Anda mendapatkan sesuatu yang berfungsi sebagian besar waktu. Untuk kasus lainnya, Anda selalu dapat membuat indentasi secara manual (dengan <Tab>, dengan asumsi Anda sudah benar :set tabstop=... expandtab dll.), atau ganti indentasi dengan fakta >> dan <<.

Jika Anda benar-benar memiliki sintaks tertentu di mana aturan indentasi agak sederhana dan deterministik (dan tidak ada pengaturan indentasi default yang berfungsi sepanjang waktu), Anda harus menulis custom indentexpr (cp. :help indent-expression ).

Karena contoh Anda tentang pemformatan teks, saya tidak menerapkan ini, dan Anda benar-benar lebih baik melakukannya 'smartindent' dan koreksi manual.

Ingo Karkat
sumber
0

Alih-alih 'smartindent', saya lebih suka mengatur 'autoindent', 'formatlistpat', dan 'formatoptions' dengan tepat. Sebagai contoh:

" set up pattern to match list bullets and numbers
let &l:formatlistpat='^\s*\%(\d\+[\]:.)}\t ]\d\@!\|[*-]\)\s*'
" automatically format numbered or bulleted lists
setlocal formatoptions+=n
setlocal autoindent

Di perintah pertama, Anda dapat mengganti "peluru" karakter apa pun yang Anda suka di dalam [*-] kelompok.

Ini akan menjaga indentasi untuk Anda, dan bahkan akan menerapkannya untuk Anda gqip misalnya, tetapi Anda harus menghapus indentasi sendiri ketika Anda memasukkan baris baru yang Anda inginkan tidak memiliki format daftar.

Ben
sumber
0

Jika motivasi Anda menulis daftar teks, Anda harus memeriksa Plugin vimwiki , menyimpan opsi format vim untuk penggunaan lain, sebagai pengkodean.

mMontu
sumber