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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Vim

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

Q&A

解決済

4回答

4446閲覧

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

08noboreni

総合スコア47

Vim

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

0グッド

0クリップ

投稿2017/02/16 10:21

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

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

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

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

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

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

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

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

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

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

投稿2017/02/16 10:31

編集2017/02/16 11:16
kanbeworks

総合スコア829

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

08noboreni

2017/02/16 13:47

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

0

ベストアンサー

  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 10:59

編集2017/02/16 11:37
miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi-sun

2017/02/16 11:01

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

2017/02/16 11:37

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

2017/02/16 13:44

ありがとうございます。 コピーするにも方法が多くて道のりが長いなぁと感じました。 レジスタの理解とマーカーをしっかり理解できるようになってみます。 あと、全く話は変わりますがアイコンがかわいいですね!
miyabi-sun

2017/02/16 13:48

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

2017/02/16 13:49

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

0

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

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

投稿2017/02/16 10:58

編集2017/02/16 12:10
otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

08noboreni

2017/02/16 13:50

ありがとうございます。 レジスタを使えるようになることが中級者への第一歩だと思い始めています。 レジスタを使ってみようと思います。 はやくvimにならされるようになりたいです。
guest

0

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

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

投稿2017/02/16 10:30

t_obara

総合スコア5488

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

08noboreni

2017/02/16 13:45

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問