So I just had an issue where my shebang lines weren’t parsing properly for a python script I was attempting to execute. A quick google revealed that it was probably because I wrote the scripts on windows and now I was trying to run them on Linux (so happy i finally made the switch btw. using the computer is fun again!). So i took the advice I found and tried to run :%s/^M/ (using C-v, C-m to insert the escape character), and it failed to find any matches. I tried the same command in vanilla vi and it worked.

Is there some setting I don’t have configured properly? I would prefer to be able to do this sort of thing within neovim.

  • robolemmy@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    11 months ago

    I generally use %s/\n//g (or is it \r ?) rather than trying to use verbatim control characters.

  • SkipperWannabe@lemm.ee
    link
    fedilink
    arrow-up
    3
    ·
    11 months ago

    Next time, try enabling display of whitespace characters through set list. If I remember correctly, they can help distinguish between the Windows carriage return character and Linux end of line character.

    This may help for a quick overview.

  • kbal@fedia.io
    link
    fedilink
    arrow-up
    3
    ·
    11 months ago

    Vim (and presumably neovim) will detect that it’s in “DOS mode” and hide the '^M’s for you. In vim you can just do “:set ff=unix” and then save.