Loading ...
Sorry, an error occurred while loading the content.

Re: How to configure vim to use the mouse, AND to copy and paste

Expand Messages
  • Erik Falor
    ... xclip lets you access the X11 clipboard on the command-line. In other words, you can pipe text to and from the X11 selection buffer. -- Erik Falor
    Message 1 of 8 , Oct 1, 2010
    • 0 Attachment
      On Fri, Oct 01, 2010 at 03:44:31PM -0400, Ven Tadipatri wrote:
      > On Thu, Sep 30, 2010 at 2:57 PM, Alexander Dietz
      > <Alexander.Dietz72@...> wrote:
      > > Hi,
      > >
      > > first of all thanks for a reply, although it does not answer all of my
      > > question.
      > >
      > >
      > > On Thu, Sep 30, 2010 at 18:05, Ven Tadipatri <vtadipatri@...> wrote:
      > >>
      > >> Well, this doesn't answer the question I asked earlier about using
      > >> visual mode to copy and paste.
      > >> But if you use xclip to copy,
      > >
      > > (what is xclip???)
      >
      > xclip is a utility that allows you to use the clipboard on Linux
      > machines that use X11:
      > http://sourceforge.net/projects/xclip/

      xclip lets you access the X11 clipboard on the command-line. In other
      words, you can pipe text to and from the X11 selection buffer.

      --
      Erik Falor
      Registered Linux User #445632 http://counter.li.org
    • sc
      ... speaking for myself only, i got used to using ctrl-insert and shift-insert way back in my windows days because they worked in more places than ctrl-c and
      Message 2 of 8 , Oct 1, 2010
      • 0 Attachment
        On Friday 01 October 2010 14:44:31 Ven Tadipatri wrote:

        > definitely not be this complicated. I wonder, how do all the
        > vim users on this list use copy and paste?

        speaking for myself only, i got used to using ctrl-insert and
        shift-insert way back in my windows days because they worked
        in more places than ctrl-c and ctrl-v

        i have several lines relating to them in my .vimrc:

        nmap <S-Insert> "+gP
        vmap <S-Insert> "-d"+P
        imap <S-Insert> <C-O>:set paste<CR><C-R>+\|<C-O>:set nopaste<CR>
        cmap <S-Insert> <C-R>+
        imap <C-Insert> <C-O>"+y
        vmap <C-Insert> "+y
        vmap <S-Del> "+d
        imap <C-Del> <C-O>daw

        and lately, if i want to quit an app i am copying from before
        i paste i make sure and start klipper beforehand

        sc

        --
        You received this message from the "vim_use" maillist.
        Do not top-post! Type your reply below the text you are replying to.
        For more information, visit http://www.vim.org/maillist.php
      • Ven Tadipatri
        ... Unfortunately I haven t come across a system yet where the + buffers were enabled. That s why I had to jump through all these hoops with /dev/clipboard
        Message 3 of 8 , Oct 1, 2010
        • 0 Attachment
          On Fri, Oct 1, 2010 at 4:18 PM, sc <toothpik@...> wrote:
          > On Friday 01 October 2010 14:44:31 Ven Tadipatri wrote:
          >
          >
          > i have several lines relating to them in my .vimrc:
          >
          > nmap <S-Insert> "+gP
          > vmap <S-Insert> "-d"+P
          > imap <S-Insert> <C-O>:set paste<CR><C-R>+\|<C-O>:set nopaste<CR>
          > cmap <S-Insert> <C-R>+
          > imap <C-Insert> <C-O>"+y
          > vmap <C-Insert> "+y
          > vmap <S-Del> "+d
          > imap <C-Del> <C-O>daw

          Unfortunately I haven't come across a system yet where the + buffers
          were enabled. That's why I had to jump through all these hoops with
          /dev/clipboard with Cygwin, and xclip on the Linux machines that used
          X11.

          So here's the latest attempt at pasting:

          For Cygwin:
          nmap <C-v> iz<Esc>mz:execute "normal a".system("cat /dev/clipboard")[:-2]<CR>`zx

          For Linux:
          nmap <C-v> iz<Esc>mz:execute "normal a".system("xclip -o")[:-2]<CR>`zx

          or map it to the Middle Mouse:
          map <MiddleMouse> iz<Esc>mz:execute "normal a".system("xclip -o")[:-2]<CR>`zx


          Apparently when I execute a command, it puts it on the next line, but
          this "normal a".system, passing it a system command pasted it right
          where I want. Well, almost, because if I pasted it at the beginning
          of the line, it pasted *after* the first character, which was
          annoying. So I did another hack using marks to paste.

          Ctrl+insert is a good idea if you don't want to overwrite the ctrl+v,
          which is used to print out an escape character. That's why I was made
          the key mappings for normal mode only, not visual or command mode.

          Thanks,
          Ven

          >
          > and lately, if i want to quit an app i am copying from before
          > i paste i make sure and start klipper beforehand
          >
          > sc
          >

          --
          You received this message from the "vim_use" maillist.
          Do not top-post! Type your reply below the text you are replying to.
          For more information, visit http://www.vim.org/maillist.php
        • Alexander Dietz
          Hi, I am not sure if I correctly understood these tips. There were some ideas of using crtl+v and crtl+insert for copy/pasting text, but this is not what I
          Message 4 of 8 , Oct 4, 2010
          • 0 Attachment
            Hi,

            I am not sure if I correctly understood these tips. There were some ideas of using crtl+v and crtl+insert for copy/pasting text, but this is not what I want.

            I want to copy a text to the clipboard by just marking the text in vim, and the using the middle-button of the mouse to paste it into my vim session (currently, I can paste text from the clipboard from somewhere else using shift-middle-button, which is just quite ok). I tried the tips given here (i.e. the long list of xmap instructions and the following:
            map <MiddleMouse> iz<Esc>mz:execute "normal a".system("xclip -o")[:-2]<CR>`zx)

            but still I cannot paste text in vim which I have selected before in vim. I have the following .vimrc:

            :set number
            :set paste
            :set mouse=a

            autocmd FileType * set tabstop=2|set shiftwidth=2|set noexpandtab
            autocmd FileType python set tabstop=4|set shiftwidth=4|set expandtab
            autocmd BufEnter * set ai sw=4 ts=4 sta et fo=croql
            set softtabstop=4 " makes the spaces feel like real tabs

            The following is a list of items that work, and which I want to work later as well:
            1. I can use the mouse to left-click, to put the cursor to another place
            2. I can paste text in (by using shift - middle-mouse-button) from some other application

            But the following items do NOT work:
            A. I cannot mark text in vim to copy it to the clipboard. I cannot paste text from vim to vim or some other application.

            So my question: Is it possible to configure vim in that way so that marking as text will put it into the clipboard (so that a subsequent middle-click of the mouse will paste it to somewhere else) WITHOUT loosing the first two currently working abilities...? Is that possible at all without having to install something different (which I had to do on ~10 other computers as non-root...).

            I hope it is clear this time. Sorry if I was not very clear before.


            Thanks
              Alex



            On Fri, Oct 1, 2010 at 22:48, Ven Tadipatri <vtadipatri@...> wrote:
            On Fri, Oct 1, 2010 at 4:18 PM, sc <toothpik@...> wrote:
            > On Friday 01 October 2010 14:44:31 Ven Tadipatri wrote:
            >
            >
            > i have several lines relating to them in my .vimrc:
            >
            > nmap <S-Insert> "+gP
            > vmap <S-Insert> "-d"+P
            > imap <S-Insert> <C-O>:set paste<CR><C-R>+\|<C-O>:set nopaste<CR>
            > cmap <S-Insert> <C-R>+
            > imap <C-Insert> <C-O>"+y
            > vmap <C-Insert> "+y
            > vmap <S-Del> "+d
            > imap <C-Del> <C-O>daw

            Unfortunately I haven't come across a system yet where the + buffers
            were enabled. That's why I had to jump through all these hoops with
            /dev/clipboard with Cygwin, and xclip on the Linux machines that used
            X11.

            So here's the latest attempt at pasting:

            For Cygwin:
            nmap <C-v> iz<Esc>mz:execute "normal a".system("cat /dev/clipboard")[:-2]<CR>`zx

            For Linux:
            nmap <C-v> iz<Esc>mz:execute "normal a".system("xclip -o")[:-2]<CR>`zx

            or map it to the Middle Mouse:
            map <MiddleMouse> iz<Esc>mz:execute "normal a".system("xclip -o")[:-2]<CR>`zx


            Apparently when I execute a command, it puts it on the next line, but
            this "normal a".system, passing it a system command pasted it right
            where I want.  Well, almost, because if I pasted it at the beginning
            of the line, it pasted *after* the first character, which was
            annoying. So I did another hack using marks to paste.

            Ctrl+insert is a good idea if you don't want to overwrite the ctrl+v,
            which is used to print out an escape character. That's why I was made
            the key mappings for normal mode only, not visual or command mode.

            Thanks,
            Ven

            >
            > and lately, if i want to quit an app i am copying from before
            > i paste i make sure and start klipper beforehand
            >
            > sc
            >

            --
            You received this message from the "vim_use" maillist.
            Do not top-post! Type your reply below the text you are replying to.
            For more information, visit http://www.vim.org/maillist.php

            --
            You received this message from the "vim_use" maillist.
            Do not top-post! Type your reply below the text you are replying to.
            For more information, visit http://www.vim.org/maillist.php
          Your message has been successfully submitted and would be delivered to recipients shortly.