': Set list' içinde “EOL” yerine CR ve LF göster


12

EOL karakteri olarak görüntülenecek bir karakteri seçmektense, dosyanın hem unix hem de dos olup olmadığına bakılmaksızın, hem CR hem de LF için ayrı ayrı görüntülenmesini istiyorum. Mümkün mü?


2
Eğer doğru anlıyorsam Hello%$DOS dosyaları gibi bir şey istiyorum (nerede %bir CR ve $a LF)? Bu list/ listcharsayarı ile mümkün değil ve gerçekten de VimScript'te bunu yapmanın bir yolunu bulamıyorum ...
Martin Tournoij

1
@Carpetsmoker Doğru. Bunun dışında belki belirli karakterlere set listsahip olmanın CRve LFgöstermenin bir yolu var mı?
Kaptan Adam

2
Onlara belirli bir rengi vurgulayabilirsiniz, ancak bunları hafa gibi olmayan belirli karakterler olarak göstermenin bir yolu yoktur.
EvergreenTree

Bence CR ya da LF her seferinde değil, aynı anda görülebilir.
SibiCoder

1
set stl+=\ [%{&ff=='mac'?'CR':&ff=='unix'?'LF':'CRLF'}]
Antony

Yanıtlar:


2

Bazı uyarılarla bunu Vim'in ikili modunu kullanarak yapabilirsiniz. Komutu kullanmak isteyebileceğiniz anlaşılıyor

vim -b +'set list' somefile

Alternatif olarak, aşağıdakileri aşağıdakilere ekleyebilirsiniz .vimrc:

:set binary
:set list

Önemli olan, söz konusu dosya bir ara belleğe okunmadan önce ikili modun ayarlanması gerektiğidir . Vim dosyayı okuduktan sonra artık çok geç; Bu hile Vim dosyayı okur şeklinin değiştirilmesiyle dayanır. Vim için Özellikle, ne ihtiyacınız olan değil bir dosyanın belirli türünü tahmin etmeye teşebbüs <EOL>.

İkili mod, bu otomatik hat ayırıcı algılamasını devre dışı bırakarak istediğinizi yapar, ancak birkaç şey daha yapar:

  • 'textwidth'0 olarak ayarlanır
  • 'wrapmargin'0 olarak ayarlanır
  • unsets 'modeline'
  • unsets 'expandtab'

Yani bunu sizin için yapmak istemeyebilirsiniz .vimrc; komut satırı sürümünü kullanmak daha iyi olabilir ve yalnızca bu özel ekrana ihtiyacınız olan dosyalar için.

Daha fazla bilgi için:

  • :help 'binary'
  • :help edit-binary
  • :help file-read
  • :help file-formats
  • :help 'fileformat'

but it does quite a few other things as wellçünkü ikili FileTypebazı otomatik komutları olan bir ya da bir tür yerleşik, kaçınılmaz bir şey mi?
Kaptan Adam

Bu ifadeyle, hemen ardından gelen listeyi tanıtmak istedim.
Ptolemarch

Bazı kullandığı için Doğru, ben sadece her şeyi :) Ben o şeyleri yapar edildi ne kast alıntı vermedi FileTypedenilen binarybu oto komutlarıyla yoksa sadece bazı şey inşa edildi?
Kaptan Adam

1
Ah doğru. Bunların hiçbirinin dosya türleri ile ilgisi yoktur (ancak dosya formatlarında oldukça sık görülür). bu ikili modun kendisinin bir parçasıdır. Bkz :help 'binary'. Ve belki de :help 'fileformat'.
Ptolemarch

0

Şuraya eklerseniz ~/.vimrc:

set ffs=unix
set list

Bu her zaman gösterecektir CRolarak ^Mve LFsıra $.

Varsayılan olarak, vim sadece sahip olduğu bir dosyayı yorumlamak istiyorum CRLFbir dos dosya ve gösterisi olarak sonlar CRLFolarak $. Ayarına göre ffs=unix, bir unix dosyası olarak her zaman açık için vim zorlamak ve bu nedenle CR ekstra karakter olarak ele alınır.

Not: Dos dosyalarını değiştirirken ve kaydederken dikkatli olun. Düğmesine basarsanız ENTER, yalnızca a ekler LF. CRYazarak elle a eklemeniz gerekir CTRL+V, CTRL+M.

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.