質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.35%

  • Vim

    528questions

    VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

vimでの一連のコピペ操作について

解決済

回答 4

投稿

  • 評価
  • クリップ 0
  • VIEW 718

08noboreni

score 32

vimでは、コピーして、間違っているところを消して、貼り付け、という操作は意外と面倒臭いのでしょうか。
vimの一般的な操作方法を教えていただければ幸いです。

困った場面

例えば、
vimで矢印の前から後に編集したいとします。

 かきくけこ
 あいうえおさしすせそ

 ↓
 かきくけこ
 あいうえおかきくけこ


1.「かきくけこ」をコピー
2.「さしすせそ」を削除
3.その場所に貼り付け
という操作を行おうと思いましたが、
2の削除時にx(一文字削除)やde(単語削除)を行うと、コピー情報がうわがかれます。

それに対して、以下の3つの方法を考えつきましたが、
「コピー情報を上書きしないように削除する」というのはvimではあまり行われないのでしょうか。

・削除する代わりに範囲選択をして、上書きする形で貼り付ける
・設定をいじって削除時にコピー情報の上書きを防止する
(ddからのpはよく使うので、できればこれは採用したくありません)
・コピーするより前に貼り付け先の間違いを消しておく

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

+3

レジスタを使えばいいんじゃないですかね?

たとえばこちらのサイトとかを参考にどうぞ。

サイトさんに丸投げもアレなので追記。
いま外で、目の前にVimがつかえる端末がないので細かいところが間違ってたら申し訳ないです。

  1. 「かきくけこ」の前に移動し、Esc-"aywでレジスタaにコピー。
  2. 「さしすせそ」の前に移動し、Esc-dwで削除。
    ※「さしすせそ」は無名レジスタに入る。
  3. Esc-"apでレジスタaの内容を貼り付け。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/16 22:47

    ありがとうございます。
    レジスタについて全く意味がわかっていない状態なので、調べてみようと思います。
    windowsの普通のエディタを一番使っていたので、かなり不思議な感じがしますが、色々できるのがすごいですねvim

    キャンセル

checkベストアンサー

+1

  1. かきくけこをコピー: yiw
  2. さしすせそをヴィジュアルモードで選択: jfさvw
  3. 貼り付け: p

これで意図通りの挙動ですね。
なお、この操作後レジスタにはさしすせそが入っているので
かきくけこを保持したければレジスタ名を指定してそこに入れる必要があるかとおもいます。


「追記」別解を用意しました。

  1. かきくけこをコピー: yiw
  2. さにカーソルをあわせて大文字Cで編集モードに
  3. C-r 0を入力してヤンクの「かきくけこ」を展開
  4. エスケープキーで終了

この方法だとさしすせそがヤンクに入ってこないので捗るかと思います。


「追記」また、私がやらかしてしまった場合のリカバリー案を記載してみました。

  1. かきくけこをywでコピー
  2. さしすせそをdwで削除
  3. さしすせそ跡地でマーカーを設置(mm)
  4. かきくけこに移動して再度yiw等としてコピー
  5. `mを入力してさしすせそ跡地へ移動して貼り付け

何のことはないという感じですけど、よくやらかすのでマーカーの設置は覚えました。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/16 20:01

    あらら、すでに「・削除する代わりに範囲選択をして、上書きする形で貼り付ける 」とあるんですね。

    キャンセル

  • 2017/02/16 20:37

    私が使っている別解とリカバリー策を追記しました。

    キャンセル

  • 2017/02/16 22:44

    ありがとうございます。
    コピーするにも方法が多くて道のりが長いなぁと感じました。
    レジスタの理解とマーカーをしっかり理解できるようになってみます。

    あと、全く話は変わりますがアイコンがかわいいですね!

    キャンセル

  • 2017/02/16 22:48

    > アイコンがかわいいですね!
    ありがとうございます!
    因みにここから頂きました。
    http://frontierpub.jp/zzm/download.html
    中の人ではありませんが、燃えあり萌えありの面白いマンガなので是非どうぞ(取ってつけた宣伝)

    キャンセル

  • 2017/02/16 22:49

    因みに入力モードでCtrl+Rを押してからのレジスタ登録したキーで貼り付けられるのは最強だと思ってます

    キャンセル

+1

vimがそういう動作なので、指をそれに合わせて動かす感じです。
例示された文章の場合、

個人的には、y$ でコピー
所定の場所に移動して、 p でペースト
一文字移動して D で削除
みたいな感じです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/16 22:45

    ありがとうございます!
    Dは使っていなかったので、今後使っていきたいとおもいます!

    キャンセル

+1

おもしろい指摘です。私はツールに慣らされてしまったか。
自分がどうしてるかを振り返ると、
・削除してからコピペ
・コピペしてから削除
・コピーしてからチェンジ
を使っているようです。
別解としては、"0p(1つ前の物をペースト)というのもあるのですが、まず使いません。

複数回ペーストするときは名前付きレジスタに入れます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/16 22:50

    ありがとうございます。
    レジスタを使えるようになることが中級者への第一歩だと思い始めています。
    レジスタを使ってみようと思います。

    はやくvimにならされるようになりたいです。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.35%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • Vim

    528questions

    VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。