Soru Vim'de eol doc chars ^ M'yi nasıl gizlerim


CRLF eol ile metinlerim varsa pencerelerde gvimde metin her satırın sonunda ^ M gösterecektir.

Ekrandaki bu özel karakteri nasıl gizlerim?

: set nolist komutu "" "onu reddetmez. Ben güldüm.

GÜNCELLEŞTİRME

Ben yaptım: fileformats = unix, bir liste olarak dos ayarlayın ama ilk başta çalışmadı. Dosyayı kapattım ve tekrar açtım ve işe yaradı. Varsayılan olarak, dosya biçimlerini yalnızca unix değerine ayarlamıştım. Cevaplar için teşekkürler.


32
2017-10-01 19:30


Menşei




Cevaplar:


Ayarlamak isteyebilirsiniz fileformat için dos.

:ed ++ff=dos %

29
2017-10-01 19:34



Bu, eksik olan her yerde dos linebreaks ekleyen dosyayı "düzeltmek" gibi görünmektedir; bu, vim'in ^ M işaretleyicilerini göstermesine neden olabilir (benim durumumdaydı). - numerodix
Bu komutu bir tuşa bağlayabilir miyiz? - deeJ
Hem bu cevap hem de jqno'nun cevabı “doğru” ama farklı şekillerde. :e ++ff=dos % Geçerli dosyayı DOS / Windows modunda yeniden açacak. :set fileformats=dos sonradan açılmış dosyaların DOS / Windows modunda açılmasına neden olur. Tüm detaylarla ilgili iyi bir açıklama mevcuttur. vim.wikia.com/wiki/File_format - Kristopher Johnson


Gizlemek için:

:set fileformats=dos

Bunları kaldırmak için (daha sonra dosyayı bir unix dosyası olarak kaydedebilirsiniz):

:%s/\r//g

18
2017-10-01 19:38



Benim durumumda, yaptıktan sonra :set fileformats=dos Dosyayı yeniden yüklemek zorunda kaldım :e %. Sonra ^M Tüm karakterler kayboldu. - arr_sea


DOS veya Unix formatını bir kez ve herkes için bir araya getirme tercihi elbette tercih edilebilir bir yaklaşım olsa da, bazen bazı çalışanlar editörlerinin davranışlarını sürdürmek için uygun kaynak yönetimi konusunda yeterince umursamıyorlar.

Bu çaresiz vakalarda, dosyayı tamamen dönüştürmek yerine (SCM'ye göre kendiniz tarafından tamamen yeniden yazılan bir dosyayla sonuçlanan, “suçlama” işlevini işe yaramaz hale getiren), problemin mevcut olmadığını iddia etmeyi tercih ettim. Derleyici accomodating ise ve PHP her şekilde olduğuAşağıdaki komutla, bir karışık EOL dosyasının mükemmel şekilde görünmesini sağlayabilirsiniz:

:match Invisible /\r$/

Ya da VIM 7.4+ daha yeni sürümlerinde

:match Ignore /\r$/

İşleri daha da kötüleştirmek için çoğu GUI editörü yapamaz bir satırsonuyla bir metin dosyasını sonlandırın ve bir dosya bir satırsonu ile sona erdiğinde, alt kısımda boş bir satır gösterir. Bu tür rahatsız edici olduğundan, çoğu insan dosya formatı DOS ise karışık-EOL dosyası (ve Vim'de gösterilen Ms) ile sonuçlanacak olan boş satırı kaldıracaktır.

Eclipse veya NetBeans'in, son satırını göstermeden (Vim akıllıca yaptığı gibi) yeni satır sonlandırmasını nasıl yapacağını bilen varsa, Lütfen Bilginizi paylaşın ve burada bir kodlayıcıyı mutlu edersiniz. ;-)


7
2017-08-27 11:02



Windows üzerinde çalışan gvim 7.4'ü denediğimde "E28: Böyle bir vurgulama grubu adı yok: Görünmez" alıyorum. İlk yapmam gereken başka bir şey var mı? - monojohnny
İlginç, bu hileyi bir süredir kullanmıyorum (yeni iş ve daha dikkatli iş arkadaşları nedeniyle) ve şimdi Vim 7.4 ile OSX'de denediğimde aynı hatayı alıyorum. Bence tanımı Invisible dağıtımın sözdizimi dosyalarından kayboldu, bu yüzden onu kendi başımıza yeniden uygulamak zorunda kalabilirdik .vimrc. Ne yazık ki, orijinal olarak nasıl kodlandığı hakkında hiçbir fikrim yok. - wiz
Bence yeni sözdizimi :match Ignore /\r$/ - Kevin Seifert


Dosya formatı genellikle otomatik olarak algılanır. Dosyanızda karışık Unix ve DOS / Windows satırları olmalı.

Bunu temizlemek için bunu deneyin ("temiz" = unix formatı):

% tr -d '\015' < old.file > new.file

1
2017-10-01 19:37



Er, "pencerelerde" dedin. Hata. Peki acı çek o zaman? Herkesin Cygwin var, değil mi? Sanırım * nix programcılarından çok daha fazla Windows programcısı var ama bunu unutmaya eğilimliyim (80'lerde MS-DOS'a rağmen). Buna dayanamıyorum, kendim ... - Roboprog


:0,$ s/<ctrl-v><ctrl-m>//g
:set ff=dos

0
2017-10-01 19:35





Ben tam şişmiş VIM (en azından benim ubuntu 9.10 kutuda) kullanıyorsanız, "ne yapmak istiyor" ve otomatik olarak gizler, ancak stok vi (ve vim-tiny) otomatik DEĞİLDİR. -M ^ En az yükleme (veya sunucu yükleme) yaparsanız, sadece vi ve vim-tiny olur. Bulduğum düzeltme, ubuntu kutuma uygun vim (apt-get install vim) yüklemekti. Umarım bu konuyla ilgili olarak, aynı nedenden dolayı gelen birine yardımcı olurum :-D


0
2018-03-09 18:37





komutu kullan:

:1,$ s/^v^M/ /g

0
2017-10-01 19:36



Sakla, kaldır. - Dave Jarvis
touche` - ben de o ince noktayı özledim ( did orijinali vurmak yerine bir kopyasını yapmak - Roboprog