web-dev-qa-db-ja.com

viで行をコピーしてコンソールに貼り付ける方法は?

Bashコマンドを含むテキストファイルがあります。

Viを使用してそのファイルから行をコピーし、コンソールに貼り付ける方法はありますか?ナノでもあります。

コンソールのみのサーバーインストールです。明確にするマウスはありません。

3
Pilot6

GPM、「汎用マウス」はコンソールでマウス機能を提供します。おそらく最も便利なのはカットアンドペーストです。

Manページから:

このパッケージは、Linuxコンソールで実行されるアプリケーションの便利なマウスサーバーになろうとします。これは「選択」パッケージに基づいており、そのコードの一部は選択自体に基づいています。このパッケージは、カットアンドペーストメカニズムとしての「選択」の代替として意図されています。また、追加の機能も提供します。

追加機能については、「特別なコマンド」セクションで説明しています

Sudo apt-get install gpm

一般に、そのまま使用できます。少なくとも手動で構成する必要はありません。

しかし、それを構成する方法の素敵な概要を参照してください http://www.cyberciti.biz/tips/howto-linux-configure-the-mouse-at-a-text-based-terminal-for-copy- and-paste-operation.html

またはmanページ

http://manpages.ubuntu.com/manpages/vivid/man8/gpm.8.html

4
Panther

viには、視覚的にテキストを選択できる視覚モードがあります。このモードに入るには、を押します v。このモードに入ったら、矢印キーを使用してコピーして貼り付けるテキストを選択できます。次に使用する y コピーする、 p (目的の場所に)貼り付け、最後にdを使用してテキストをカット(または削除)します。

Xをサポートし、システムクリップボードへのアクセスを許可する特別なバージョンのvimがあります。しかし、それらの多くをぶらぶらさせないことが最も簡単なので(デフォルトバージョンにはこれらの拡張機能がないため)、ソースから この人が提案した としてコンパイルすることをお勧めします。したがって、これを行うには、最初にMercurialがインストールされていることを確認し、インストールされていない場合はインストールします。

Sudo apt-get install Mercurial

インストールされたことを確認したら、vimのコンパイル依存関係を取得します。

Sudo apt-get build-dep vim

次に、ソースを取得します:

hg clone https://vim.googlecode.com/hg/ vim_source

最後にコンパイルする必要があります:

cd vim_source
./configure \
    --enable-perlinterp=dynamic \
    --enable-pythoninterp=dynamic \
    --enable-rubyinterp=dynamic \
    --enable-cscope \
    --enable-gui=auto \
    --enable-gtk2-check \
    --enable-gnome-check \
    --with-features=huge \
    --with-x \
    --with-compiledby="Your Name <[email protected]>" \
    --with-python-config-dir=/usr/lib/python2.7/config
make && Sudo make install

注意:これは/usr/localにインストールされるので、デフォルトのUbuntuの代わりに使用されるように/usrの前のPATHにあることを確認する必要があります版。

次に、これを使用して作業できるようにする必要があります。

"+y

システムのクリップボードにコピーします。そして:

"+p

それから貼り付けます。

2
user364819

Bashでは、エディターでcurrentコマンドを編集することができます。 CtrlxCtrle

そう:

  1. 新しいプロンプトで開始し、を押します CtrlxCtrle。これにより、新しい空のエディター、できればVimが開きます(エディターはVISUALおよびEDITOR変数によって決定されると思います)。
  2. コマンドを含むファイルを新しいタブまたは分割で開きます。
  3. 関連コマンドを元のバッファー(おそらくbash-fc-xxxxxxxxなどの名前)にコピーします。
  4. 保存して終了します。エボイラ!
2
muru

Linuxコンソールにグローバルバッファがあるかどうかはわかりません。

回避策を見つけました。 viまたはnano内でコピーして貼り付けることができます。

いくつかのコマンド、コマンドの一部、または修正されたコマンドを実行する必要がある場合、それをファイルの最後にコピーし、エディターを閉じて実行します

tail -1 file.txt | bash

ファイルのいくつかの行は

sed -n <line_number> file.txt | bash

または

grep <pattern> file.txt | bash

しかし、それは私の質問にはまったく答えません。これは一種の回避策です。

1
Pilot6