How to assign a Python list to a vim variable and escape its strings correctlyHow can I get python library help in vim?Vim python backend, how to import user installed shared libraries?Vim 8.0 python support: where to store a per-buffer python variable?How to escape pipe character in `:make`, `:grep` and friendsHow to run a python command based on a matched group of a pattern?How vim invokes and executes python interpreterSome function keys switch cases of letters under and after the cursorHow do I split a vim Window using python?fnameescape() : add other characters to be escaped (parenthesis, commas etc)Vim using wrong executable and site packages in Python venv

What does 2>&1 | tee mean?

What are good ways to spray paint a QR code on a footpath?

How fast can a ship with rotating habitats be accelerated?

“Faire” being used to mean “avoir l’air”?

Signing using digital signatures?

Is there a short way to check uniqueness of values without using 'if' and multiple 'and's?

MH370 blackbox - is it still possible to retrieve data from it?

Alphabet completion rate

Zombie diet, why humans?

Should I hide continue button until tasks are completed?

What's the point of DHS warning passengers about Manila airport?

When to apply Lorentz transformations and laws of time dilations and length contractions: explanations

Math PhD in US vs Master + PhD in Europe

Set vertical spacing between two particular items

Quacks of Quedlingburg Crow Skull Set 2 Keep Drawing

How was film developed in the late 1920s?

Does the UK have a written constitution?

How hard is it to sell a home which is currently mortgaged?

Why Is Abelian Gauge Theory So Special?

Are there any vegetarian astronauts?

Does ultrasonic bath cleaning damage laboratory volumetric glassware calibration?

Coefficients of the characteristic polynomial

Three column layout

Bash echo $-1 prints hb1. Why?



How to assign a Python list to a vim variable and escape its strings correctly


How can I get python library help in vim?Vim python backend, how to import user installed shared libraries?Vim 8.0 python support: where to store a per-buffer python variable?How to escape pipe character in `:make`, `:grep` and friendsHow to run a python command based on a matched group of a pattern?How vim invokes and executes python interpreterSome function keys switch cases of letters under and after the cursorHow do I split a vim Window using python?fnameescape() : add other characters to be escaped (parenthesis, commas etc)Vim using wrong executable and site packages in Python venv






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















Here is a Python list that I'm trying to assign to some Vim variable.



lines = ['"""Something foo's thing."""', '', 'foo = "asdfasdf" \', 'bar']
command = 'let l:corrected_lines = lines'.format(lines=lines)
vim.eval(command)


And then in a caller function, I use l:corrected_lines to do some extra work.



The problem is that there are 2 issues with the string above



  • The single quote foo's apparently needs to be escaped

  • The also needs to be escaped

Apparently Vim escapes single-quotes by placing two of them side-by-side, like this ''. So I've experimented with running replace("\'", "''") and other combinations of methods. Also Vim changes the in the source-code to \ so I've tried adding replace('\\', '\') and that works. The problem is that these replacements work in isolation but don't work together.



I feel like there's probably a simpler way to escape this line but I haven't had success with Python or using Vim's :escape() command. Can someone please suggest a solution?



Note: Just to make lines make a bit more sense visually, this is how lines looks like printed out



"""Something foo's thing."""

foo = "asdfasdf"
bar









share|improve this question




























    1















    Here is a Python list that I'm trying to assign to some Vim variable.



    lines = ['"""Something foo's thing."""', '', 'foo = "asdfasdf" \', 'bar']
    command = 'let l:corrected_lines = lines'.format(lines=lines)
    vim.eval(command)


    And then in a caller function, I use l:corrected_lines to do some extra work.



    The problem is that there are 2 issues with the string above



    • The single quote foo's apparently needs to be escaped

    • The also needs to be escaped

    Apparently Vim escapes single-quotes by placing two of them side-by-side, like this ''. So I've experimented with running replace("\'", "''") and other combinations of methods. Also Vim changes the in the source-code to \ so I've tried adding replace('\\', '\') and that works. The problem is that these replacements work in isolation but don't work together.



    I feel like there's probably a simpler way to escape this line but I haven't had success with Python or using Vim's :escape() command. Can someone please suggest a solution?



    Note: Just to make lines make a bit more sense visually, this is how lines looks like printed out



    """Something foo's thing."""

    foo = "asdfasdf"
    bar









    share|improve this question
























      1












      1








      1








      Here is a Python list that I'm trying to assign to some Vim variable.



      lines = ['"""Something foo's thing."""', '', 'foo = "asdfasdf" \', 'bar']
      command = 'let l:corrected_lines = lines'.format(lines=lines)
      vim.eval(command)


      And then in a caller function, I use l:corrected_lines to do some extra work.



      The problem is that there are 2 issues with the string above



      • The single quote foo's apparently needs to be escaped

      • The also needs to be escaped

      Apparently Vim escapes single-quotes by placing two of them side-by-side, like this ''. So I've experimented with running replace("\'", "''") and other combinations of methods. Also Vim changes the in the source-code to \ so I've tried adding replace('\\', '\') and that works. The problem is that these replacements work in isolation but don't work together.



      I feel like there's probably a simpler way to escape this line but I haven't had success with Python or using Vim's :escape() command. Can someone please suggest a solution?



      Note: Just to make lines make a bit more sense visually, this is how lines looks like printed out



      """Something foo's thing."""

      foo = "asdfasdf"
      bar









      share|improve this question














      Here is a Python list that I'm trying to assign to some Vim variable.



      lines = ['"""Something foo's thing."""', '', 'foo = "asdfasdf" \', 'bar']
      command = 'let l:corrected_lines = lines'.format(lines=lines)
      vim.eval(command)


      And then in a caller function, I use l:corrected_lines to do some extra work.



      The problem is that there are 2 issues with the string above



      • The single quote foo's apparently needs to be escaped

      • The also needs to be escaped

      Apparently Vim escapes single-quotes by placing two of them side-by-side, like this ''. So I've experimented with running replace("\'", "''") and other combinations of methods. Also Vim changes the in the source-code to \ so I've tried adding replace('\\', '\') and that works. The problem is that these replacements work in isolation but don't work together.



      I feel like there's probably a simpler way to escape this line but I haven't had success with Python or using Vim's :escape() command. Can someone please suggest a solution?



      Note: Just to make lines make a bit more sense visually, this is how lines looks like printed out



      """Something foo's thing."""

      foo = "asdfasdf"
      bar






      vimscript-python escape string-manipulation






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 10 hours ago









      ColinKennedyColinKennedy

      465 bronze badges




      465 bronze badges




















          1 Answer
          1






          active

          oldest

          votes


















          2














          Use pyeval(), py3eval(), or pyxeval() to read python variables into vim:



          python:



          x = [1,2,3]
          vim.command('let X = pyeval("x")')


          vim:



          py x = [1,2,3]
          let X = pyeval('x')





          share|improve this answer

























            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "599"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fvi.stackexchange.com%2fquestions%2f20403%2fhow-to-assign-a-python-list-to-a-vim-variable-and-escape-its-strings-correctly%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2














            Use pyeval(), py3eval(), or pyxeval() to read python variables into vim:



            python:



            x = [1,2,3]
            vim.command('let X = pyeval("x")')


            vim:



            py x = [1,2,3]
            let X = pyeval('x')





            share|improve this answer



























              2














              Use pyeval(), py3eval(), or pyxeval() to read python variables into vim:



              python:



              x = [1,2,3]
              vim.command('let X = pyeval("x")')


              vim:



              py x = [1,2,3]
              let X = pyeval('x')





              share|improve this answer

























                2












                2








                2







                Use pyeval(), py3eval(), or pyxeval() to read python variables into vim:



                python:



                x = [1,2,3]
                vim.command('let X = pyeval("x")')


                vim:



                py x = [1,2,3]
                let X = pyeval('x')





                share|improve this answer













                Use pyeval(), py3eval(), or pyxeval() to read python variables into vim:



                python:



                x = [1,2,3]
                vim.command('let X = pyeval("x")')


                vim:



                py x = [1,2,3]
                let X = pyeval('x')






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 8 hours ago









                MassMass

                6,6671 gold badge4 silver badges21 bronze badges




                6,6671 gold badge4 silver badges21 bronze badges



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Vi and Vim Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fvi.stackexchange.com%2fquestions%2f20403%2fhow-to-assign-a-python-list-to-a-vim-variable-and-escape-its-strings-correctly%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

                    Tom Holland Mục lục Đầu đời và giáo dục | Sự nghiệp | Cuộc sống cá nhân | Phim tham gia | Giải thưởng và đề cử | Chú thích | Liên kết ngoài | Trình đơn chuyển hướngProfile“Person Details for Thomas Stanley Holland, "England and Wales Birth Registration Index, 1837-2008" — FamilySearch.org”"Meet Tom Holland... the 16-year-old star of The Impossible""Schoolboy actor Tom Holland finds himself in Oscar contention for role in tsunami drama"“Naomi Watts on the Prince William and Harry's reaction to her film about the late Princess Diana”lưu trữ"Holland and Pflueger Are West End's Two New 'Billy Elliots'""I'm so envious of my son, the movie star! British writer Dominic Holland's spent 20 years trying to crack Hollywood - but he's been beaten to it by a very unlikely rival"“Richard and Margaret Povey of Jersey, Channel Islands, UK: Information about Thomas Stanley Holland”"Tom Holland to play Billy Elliot""New Billy Elliot leaving the garage"Billy Elliot the Musical - Tom Holland - Billy"A Tale of four Billys: Tom Holland""The Feel Good Factor""Thames Christian College schoolboys join Myleene Klass for The Feelgood Factor""Government launches £600,000 arts bursaries pilot""BILLY's Chapman, Holland, Gardner & Jackson-Keen Visit Prime Minister""Elton John 'blown away' by Billy Elliot fifth birthday" (video with John's interview and fragments of Holland's performance)"First News interviews Arrietty's Tom Holland"“33rd Critics' Circle Film Awards winners”“National Board of Review Current Awards”Bản gốc"Ron Howard Whaling Tale 'In The Heart Of The Sea' Casts Tom Holland"“'Spider-Man' Finds Tom Holland to Star as New Web-Slinger”lưu trữ“Captain America: Civil War (2016)”“Film Review: ‘Captain America: Civil War’”lưu trữ“‘Captain America: Civil War’ review: Choose your own avenger”lưu trữ“The Lost City of Z reviews”“Sony Pictures and Marvel Studios Find Their 'Spider-Man' Star and Director”“‘Mary Magdalene’, ‘Current War’ & ‘Wind River’ Get 2017 Release Dates From Weinstein”“Lionsgate Unleashing Daisy Ridley & Tom Holland Starrer ‘Chaos Walking’ In Cannes”“PTA's 'Master' Leads Chicago Film Critics Nominations, UPDATED: Houston and Indiana Critics Nominations”“Nominaciones Goya 2013 Telecinco Cinema – ENG”“Jameson Empire Film Awards: Martin Freeman wins best actor for performance in The Hobbit”“34th Annual Young Artist Awards”Bản gốc“Teen Choice Awards 2016—Captain America: Civil War Leads Second Wave of Nominations”“BAFTA Film Award Nominations: ‘La La Land’ Leads Race”“Saturn Awards Nominations 2017: 'Rogue One,' 'Walking Dead' Lead”Tom HollandTom HollandTom HollandTom Hollandmedia.gettyimages.comWorldCat Identities300279794no20130442900000 0004 0355 42791085670554170004732cb16706349t(data)XX5557367

                    Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes