VIエディターで開いているファイルからクリップボードにすべての行をコピーする方法はありますか?私は試しましたyGが、それらの行を保存するためにクリップボードを使用していません。
それは可能ですか?
VIエディターで開いているファイルからクリップボードにすべての行をコピーする方法はありますか?私は試しましたyGが、それらの行を保存するためにクリップボードを使用していません。
それは可能ですか?
回答:
あなたは、テキストにヤンクすべき*
か+
のレジスタを:
gg"*yG
説明:
gg
カーソルをファイルの最初の文字に移動する"*y
*
最初の行からレジスターへのヤンクコマンドを開始するには...G
ファイルの終わりに行く"
。
:version
、vimで実行し、+xterm_clipboard
フラグを探します。マイナス記号が前に付いている場合、この機能はありません。その場合は、vimを自分でコンパイルするか、通常はこの機能が有効になっているgvimを実行してください。
使用する:
:%y+
すべての行をヤンクします。
説明:
%
すべての行で機能する次のコマンドを参照するy
それらの行をヤンクする+
システムのクリップボードにコピーするNB:ではWindowsの、+
と*
同等ですがこの回答を参照してください。
:help
してみて、実際にvimにいることを確認してください。
set clipboard=unnamed
ありましたが、これはうまくいきました!
E850: Invalid register name
Mac
選択した部分をコピー:テキストを視覚的に選択し(タイプv
またはV
通常モード)、タイプ:w !pbcopy
ファイル全体をコピーする :%w !pbcopy
クリップボードから過去 :r !pbpaste
pbcopy
はMacユーティリティです。Linuxでは、xsel
代わりに、またはclip
Windows では動作する可能性があります。
:%w !pbcopy
は、ファイルがターミナルの高さよりも長い場合でも機能します。
VIの使用に問題がある場合にファイル全体をコピーするもう1つの簡単な方法は、「cat filename」と入力することです。ファイルを画面にエコーし、上下にスクロールしてコピー/貼り付けできます。
:!cat %
。また、ファイルの内容をプログラムでMac OSのクリップボードにコピーするには::!cat % | pbcopy
これは私がファイル全体をヤンクするために行うことです:
ggVGy
clipboard
、ヤンクされたテキストをコピーするためのセットを持っているとしたらどうでしょう+
。
「cat」コマンドを使用してファイルを開き、マウスを使用してコピーできます
reset
端末を事前に、すべてを選択してコピーします。これはssh
セッションを通じて機能します。
Ubuntu 12の場合
あなたはvim-gnome
パッケージをインストールしようとするかもしれません:
sudo apt-get install vim-gnome
クリップボード機能を使用するために必要なvim --version
フラグxterm_clipboard(-で示される)が無効になると言われたため、試してみました。
-> Ubuntu 12にvim-gnomeパッケージをインストールすると、コンソールベースのバージョンのvimもインストールされ、このオプションが有効になります(xterm_clipboardフラグの前の+で示されます)。
Arch Linuxの場合
vim-clipboard
同じ理由でインストールできます。
neovimを実行している場合は、インストールする必要がありますxclip
(で説明されていますhelp clipboard-tool
)。
Vimをビジュアルモードで使用している場合、少なくともWindowsでは、標準のカットアンドペーストキーも適用されます。
Ubuntuターミナル(Gnome)では、少なくとも標準のコピーも機能します(CTRLSHIFTCただし、の標準的なキーボードショートカットがないようですselect all
(がALTE後に続く場合を除くA)。
私は人々が上で述べたいくつかのコマンドを試しました。どれもうまくいきませんでした。それから私はそれらの最も単純なものを手に入れました。
ステップ1:vi <filename>
ステップ2:Puttyウィンドウのタイトルバーを右クリックします。
ステップ3:[Clear scrollback
]を選択します(残りのSSHセッションがコピーされないようにするため)ステップ4:もう一度右クリックして[すべてをクリップボードにコピー]を選択します。
Window > Settings > lines of scrollback
を40000 に増やす必要がありました(タイトルバーを右クリックしても表示されます)。cat
すべてのテキストをスクロールするので、viの代わりに使用すると役立ちます。
:set go=a
ggVG
を参照してください:help go-a
。
'a' Autoselect: If present, then whenever VISUAL mode is started,
or the Visual area extended, Vim tries to become the owner of
the windowing system's global selection. This means that the
Visually highlighted text is available for pasting into other
applications as well as into Vim itself. When the Visual mode
ends, possibly due to an operation on the text, or when an
application wants to paste the selection, the highlighted text
is automatically yanked into the "* selection register.
Thus the selection is still available for pasting into other
applications after the VISUAL mode has ended.
If not present, then Vim won't become the owner of the
windowing system's global selection unless explicitly told to
by a yank or delete operation for the "* register.
The same applies to the modeless selection.
指のデフォルトがの場合は、CTRL-A CTRL-C
からのマッピングを試してください$VIMRUNTIME/mswin.vim
。
" CTRL-C and CTRL-Insert are Copy
vnoremap <C-C> "+y
" CTRL-A is Select all
noremap <C-A> gggH<C-O>G
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
cnoremap <C-A> <C-C>gggH<C-O>G
onoremap <C-A> <C-C>gggH<C-O>G
snoremap <C-A> <C-C>gggH<C-O>G
xnoremap <C-A> <C-C>ggVG
とにマッピングされ<Leader><C-a>
てい<Leader><C-c>
ます。
vimまたはそのタブ内のファイル全体をコピーします
y G
次にタブに移動して貼り付けます
p
そして、ファイル全体の使用をカットする
d G
このアクションを実行する関数を作成しました~/.vimrc
。それをに配置します。
fun! CopyBufferToClipboard()
%y+
endfun
nnoremap <Leader>y :call CopyBufferToClipboard()<CR>
command! -nargs=0 CopyFile :call CopyBufferToClipboard()
OBS:neovimを使用している場合は、xclipなどのクリップボードマネージャーも必要です。neovimの詳細情報タイプ:h checkhealth
y
すべてのコピーフィード+
を "クリップボードレジスタ"に設定するために、常に単純なものがクリップボードにコピーされるとは限らないことを言及することも重要です:set clipboard=unnamed,unnamedplus
。詳細については、を参照してください:h unnamed
。
ここでvim wikiaの詳細をご覧ください。
マウスの左ボタンをクリックし、コピーして解放するセクションをドラッグします。コードは自動的にクリップボードにコピーされます。
vi
方法も)。
上記の回答を使用してファイルをコピーできませんでしたが、パテがあり、Quoraで回避策を見つけました。
注:セッションのすべての出力文字がログファイルにコピーされるため、最終的には大きくなります。その場合は、ログファイルを削除し、ターゲットファイルをcatして、特定のファイルのコンテンツをマシンにコピーします。