Saya suka bahwa garis panjang ditampilkan lebih dari satu garis terminal; Saya tidak suka vim memasukkan baris baru ke teks saya yang sebenarnya. Bagian mana dari .vimrc yang harus saya ubah?
Saya suka bahwa garis panjang ditampilkan lebih dari satu garis terminal; Saya tidak suka vim memasukkan baris baru ke teks saya yang sebenarnya. Bagian mana dari .vimrc yang harus saya ubah?
Jawaban:
Menggunakan
:set wrap
Untuk membungkus garis secara visual, yaitu baris masih satu baris teks, tetapi Vim menampilkannya pada beberapa baris.
Menggunakan
:set nowrap
Untuk menampilkan garis panjang sebagai hanya satu garis (yaitu Anda harus menggulir secara horizontal untuk melihat seluruh garis).
Saya suka bahwa garis panjang ditampilkan lebih dari satu garis terminal
Jenis pembungkus garis visual / virtual ini diaktifkan dengan wrap
opsi jendela:
set wrap
Saya tidak suka vim memasukkan baris baru ke teks saya yang sebenarnya.
Untuk mematikan pembungkus garis fisik, kosongkan opsi textwidth
dan wrapmargin
penyangga:
set textwidth=0 wrapmargin=0
set textwidth=0 wrapmargin=0
berfungsi tetapi jika saya memasukkannya ke dalam .vimrc
, itu tidak memiliki efek misalnya untuk file teks biasa. Bagaimana saya mencari tahu dan menghilangkan timpa?
:verbose set textwidth? wrapmargin?
. Ini akan memberi tahu Anda nilai mereka saat ini dan juga di mana mereka ditetapkan. Mungkin saja Anda memiliki plugin yang menggantikannya. Dalam hal ini Anda dapat menghapus instalasi plugin itu, atau mencoba mengganti pengaturan plugin nanti di runtimepath Anda (misalnya:) ~/.vim/after
atau dengan perintah otomatis Anda sendiri. Pendekatan yang tepat akan tergantung pada di mana / bagaimana pengaturan ulang.
set wrap
dan set linebreak
apa yang dilakukan untukku.
Saya tidak yakin saya mengerti sepenuhnya, tetapi Anda mungkin mencari pengaturan konfigurasi 'formatoptions'. Coba sesuatu seperti :set formatoptions-=t
. The t
pilihan akan memasukkan jeda baris untuk membuat bungkus teks di set lebar oleh textwidth
. Anda juga dapat menempatkan perintah ini di Anda .vimrc
, cukup hapus titik dua ( :
).
tw
.
Gunakan :set nowrap
.. bekerja seperti pesona!
:set tw=0
VIM tidak akan menyisipkan jalur terputus secara otomatis, tetapi akan menjaga pembungkus garis.
Anda mungkin menemukan set lbr
bermanfaat; dengan set wrap
ini akan membungkus tetapi hanya memotong garis pada spasi putih dan tidak di tengah kata.
misalnya
without lbr the li
ne can be split on
a word
dan
with lbr on the
line will be
split on
whitespace only
set nolinebreak
set lbr
set formatoptions-=t
Menyimpan lebar teks visual tetapi tidak menambahkan baris baru dalam mode sisipkan.
Aneh bahwa pengaturan yang sederhana seperti ini membutuhkan jumlah 'fokus-fokus' ini untuk bekerja.
Untuk menjawab pertanyaan Anda sekarang, bagi saya sepertinya berfungsi dengan kombinasi berikut:
:set wrap linebreak nolist
(ini tampaknya mencegah garis yang ada dari putus, hanya membungkus.)
DAN
set formatoptions=l
(ini mencegah baris baru / yang diedit dari melanggar, sementara + = tidak melakukannya untuk saya karena pengaturan / plugin lain tampaknya menemukan ruang dan menambahkan opsi mereka sendiri yang menimpa tambang saya.)
Jika, seperti saya, Anda menjalankan gVim di Windows, maka file .vimrc Anda dapat mengambil sumber file Vimscript 'contoh' lainnya yang secara otomatis disetel textwidth
(dalam kasus saya ke78
) untuk file teks.
Jawaban saya untuk pertanyaan serupa dengan yang ini - Bagaimana cara menghentikan teks pembungkus gVim di kolom 80 - di situs Pertukaran Vi dan Vim Stack :
Dalam kasus saya, komentar Vitor menyarankan saya menjalankan yang berikut:
:verbose set tw?
Melakukannya memberi saya output berikut:
textwidth=78 Last set from C:\Program Files (x86)\Vim\vim74\vimrc_example.vim
Di vimrc_example.vim , saya menemukan baris yang relevan:
" Only do this part when compiled with support for autocommands. if has("autocmd") ... " For all text files set 'textwidth' to 78 characters. autocmd FileType text setlocal textwidth=78 ...
Dan saya menemukan bahwa .vimrc saya sedang mencari file itu:
source $VIMRUNTIME/vimrc_example.vim
Dalam kasus saya, saya tidak ingin
textwidth
diatur untuk file apa pun, jadi saya hanya berkomentar di baris yang relevan di vimrc_example.vim .
autocmd FileType text setlocal textwidth=0
ke file vimrc dan itu memperbaiki masalah ketika solusi yang diusulkan lainnya tidak.
Benar yang mengatur nowrap akan memungkinkan Anda untuk menempelkan garis panjang tanpa vi / vim menambahkan baris baru, tetapi kemudian garis tersebut tidak dibungkus secara visual agar mudah dibaca. Alih-alih, hanya satu garis panjang yang harus Anda gulir.
Untuk memiliki garis yang dibungkus secara visual tetapi tidak memiliki karakter baris baru yang dimasukkan ke dalamnya, telah menetapkan bungkus (yang mungkin default sehingga tidak diperlukan untuk mengatur) dan mengatur textwidth = 0 .
Pada beberapa sistem pengaturan textwidth = 0 adalah default. Jika Anda tidak menganggapnya demikian, tambahkan set textwidth = 0 ke file .exrc Anda sehingga menjadi default pengguna Anda untuk semua sesi vi / vim.
:set nowrap
kebalikan dari yang Anda inginkan :(.