VI Editor : Yank the entire file to clipboard (specific to OS X)

前端 未结 3 1681
忘了有多久
忘了有多久 2020-12-31 05:40

Is there any way to copy all lines from a file to clipboard in VI editor. I have tried *yG, +yG, \"+yG and :%y+ from prev

相关标签:
3条回答
  • 2020-12-31 06:05

    The default Vim shipped with Mac OS X, /usr/bin/vi[m], isn't compiled with clipboard support.

    You have three options:

    1. use pbcopy from the command line, without using Vim

      $ cat filename | pbcopy
      
    2. use pbcopy from Vim

      :%w !pbcopy
      
    3. get your own Vim with clipboard support

      You can do that through MacPorts or Homebrew, by downloading MacVim or by building from the source.

    Also the correct way to use a specific register with y is "{register}y.

    See $ man pbcopy in your terminal and :help clipboard and :help ! in Vim.

    0 讨论(0)
  • 2020-12-31 06:16

    G just means "go to the end of the file", and you need quotes before * or + to make them effective as clipboard registers. You're looking for something more like gg"*yG which means:

    gg - go to the top of the file

    "* - use the * register

    y - begin yank

    G - go to the bottom of the file

    or you could use :!cat % | pbcopy which is not unlike the fine solutions romainl provided.

    0 讨论(0)
  • 2020-12-31 06:20

    vim --version | grep clipboard, if you see "-clipboard", you won't do that . Your vim doesn't support it. You need recompile the source code。

    Compile

    $./configure \ --enable-gui=auto --with-features=huge --with-x
    $ make && sudo make install
    
    0 讨论(0)
提交回复
热议问题