Je cherche une sorte de plugin / vi-code qui détecte s'il y a des J'ai besoin de cela pour travailler automatiquement avant / pendant l'ouverture du fichier. P>
Aussi, pour les personnes qui suggèrent des moyens de convertir manuellement les terminaisons de ligne, un point de réponse sur et n'y a-t-il pas d'astuce à utiliser ^ m code> (retour de la chaise?) Dans tous les fichiers ou tout type d'indication que les terminaisons de ligne ne sont pas Unix, et si oui, supprimez-les ou exécutez dos2unix code> sur le fichier. P>
: définir ff = unix code> mais cela ne tue pas ^ m < / code> dans un fichier UNIX, je pense. p>
:% s / ^ m // g code> car avec un littéral ^ code> ne correspond pas au char? p>
3 Réponses :
Depuis que vous avez marqué ce git - vous pouvez avoir une gamme Convertir la ligne de fin sur checkin / out automatiquement (http://www.kernel.org/pub/software/scm/git/docs/git-config.html) < / p>
ps. L'astuce à faire ^ m dans un remplacement est p>
:% s / {ctrl + v} {ctrl + m} // {entrer} code> p>
Désolé, je ne voulais pas le signaler comme git ... une personne me demandait des questions git alors que je m'étais git dans mon esprit. C'est une bonne suggestion et je suis ouvert à le faire sur mon VCS, mais j'aimerais toujours une réponse VIM.
Ne met pas: définir ff = Unix dans le fichier de démarrage fonctionne? Ou sont ces fichiers où quelque chose d'autre a déjà mis un littéral ^ m dans le fichier?
Ce dernier, j'ai rencontré des fichiers où l'utilisateur met littéral ^ m dans le fichier, même si le format de fichier est UNIX.
Si vous souhaitez remplacer les ^ m dans n'importe quel fichier que vous ouvrez, un Autocmd comme ce qui suit dans You VIMRC pourrait aider:
au BufReadPost * %s/^M//g
La fonction ci-dessous est intéressante car Il garde le curseur à sa position d'origine Mettez-le dans votre. VIMRC
" dos2unix ^M
fun! Dos2unixFunction()
let _s=@/
let l = line(".")
let c = col(".")
try
set ff=unix
w!
"%s/\%x0d$//e
catch /E32:/
echo "Sorry, the file is not saved."
endtry
let @/=_s
call cursor(l, c)
endfun
com! Dos2Unix keepjumps call Dos2unixFunction()
au BufReadPost * keepjumps call Dos2unixFunction()
Pour taper A ^ m dans VI, que ce soit dans le texte ou la recherche et la remplacement, tapez "Ctrl-V", "Ctrl-M".
L'astuce à utiliser
:% s / ^ m // g code> est de saisir le^ m code> comme code>. Si vous ne voulez pas avoir de caractères de contrôle brutes en motif, utilisez
\ r code>. Personnellement, je préfère code> lors de la saisie en mode de commande et \ r code> lorsque vous écrivez un script.