Pada Solaris, jika Anda membuka file in vi yang memiliki ujung garis Windows, ini muncul sebagai ^ M di akhir setiap baris.
Di Linux, vi lebih pintar dan memahami format file Windows, dan tidak menampilkan ^ M.
Apakah ada pengaturan untuk membuat Linux vi berperilaku sama dengan Solaris dalam hal ini?
Masalah umum bagi kita adalah menyalin skrip shell dari kotak dev (Windows) dan lupa untuk dos2unix itu, dan kemudian menjadi bingung ketika itu tidak berfungsi dengan baik. Pada Solaris masalahnya jelas segera setelah Anda vi file, tetapi tidak di Linux.
Terima kasih.
vim
, secara default saya biasanya melihat tidak^M
, tetapi kadang-kadang ada satu di akhir file.Jawaban:
Coba
:set ffs=unix
ketika memulai vi (atau atur sebagai default di vimrc) yang akan menampilkan semua karakter CR sebagai^M
.vi menebak secara otomatis format mana yang digunakan berdasarkan apakah atau tidak memenuhi garis yang berakhir dengan hanya LF atau keduanya CR / LF.
sumber
:set list
ditampilkan$
di akhir semua baris (format Unix & DOS), jadi tidak membantu membedakan keduanya.Not an editor command: ffs=unix
- tetapi mengatur saya di jalan yang benar. Menjalankan:set ffs=unix
dengan file yang terbuka di vi tidak bekerja - tidak ada kesalahan tetapi tidak ada yang terjadi. Saya memasukkanset ffs=unix
file .vimrc saya dan itu berhasil.ffs
apa adanya. Tapi lihat jawabannya dari @wisbucky.Untuk menampilkan akhiran baris dos untuk file saat ini:
:e +ff=unix
Ini memaksa format file untuk unix, yang akan dirender
CR
sebagai^M
Untuk menjadikan pengaturan ini permanen, tambahkan ke
~/.vimrc
:set ffs=unix
Perhatikan bahwa pengaturan .vimrc
ffs
tidakff
.sumber
:e ++ff=unix
, saya percaya.:e ++ff=unix
(per fork0) 54321
sumber