• ベストアンサー

viでの範囲指定

あまりにも基本的な質問で申し訳ないです。 viでの範囲指定(コピペのための)ってどのようにすればいいのでしょうか。vimではvで「ここから」の指定ができますが、純正viでは効かないですよね? 行単位、単語単位などはわかるのですが、任意の「ここから」の指定方法が分かりません。 vimがインストールされていない環境で作業をすることが多く、困っております。よろしくお願いいたします。

  • annyG
  • お礼率70% (67/95)

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4847/10260)
回答No.1

マークを使います。A-Za-zの52個のマークをどこにでも付けられます。(目に見えないので覚えるしかないですが) マークへの移動は、`a (バッククォート マーク名)など。(あまりつかいませんが、'a (シングルクォート マーク名)で、マークを含む行の行頭へ) まずこれで、マークと移動の練習をします。 y や d の後にはカーソル移動コマンドを入れますよね。 コピーは y`a で、カーソル位置からマークaまでバッファに入れます。 カットは d`a で、カーソル位置からマークaまで削除してバッファに入れます。

annyG
質問者

お礼

ありがとうございました。 そういえばマークってありました。なるほど、こういうときに使うと便利ですね。 いただいたご説明も論理的でとても分かり易く、助かりました。ありがとうございました。

関連するQ&A

  • viで検索してその行に飛ぶには?

    viで、 / で検索すると、1語ずつ検索しますが、 grepのように検索結果を行単位で一覧で出して、 その中から選んだ行にジャンプする、 ということをしたいのですが、どうすればできますか? vimでなくviについての質問ですが、 vimでならこうすればできる、というのもあれば教えてください

  • 位置指定、範囲指定がうまくできない

    最近、テキストの位置指定、範囲指定がうまくできません。 このような掲示板に書き込む時や、どこかのHPの文章を引用しようとした時です。 ・カーソル指定した場所と違う場所に文章が打ち込まれる。 例)「あいうえおかきけこ」と文章を打つ   「く」を忘れたので、「き」と「け」の間にカーソルを持っていく   「く」を打ったら、「あいうえおかきけこく」となってしまった といった具合です。これはかなりの頻度で起こります。 コピペの時でも、思いがけないところにペーストされたりします。 もうひとつの症状は、文章をコピペする時に、範囲指定がうまくできなません。時によって症状が違うのですが、 ・単語単位でしか範囲指定できなかったり(この場合、選択できるのは数文字ずつで、文章での範囲指定はできません) ・全てを選択以外、全く範囲指定ができないこともあります。 上記のようにうまくできない時もあるし、すんなり希望どおりの範囲指定ができるときもあります。 少し前まではこんな症状はありませんでした。 マウスが悪いのか、何かの設定の問題なのか全く原因が分かりません。 ※WinXPで、Office系のソフトは全く入ってません。

  • テキストの選択範囲指定方法

    基本的なPC知識の質問です。テキスト文章の中の「一部の単語」などを コピペしたい時等に選択範囲を指定するのに、マウス+カーソルで選択 するより素早い選択方法はショートカットなどでないでしょうか? 教えてください。

  • viで1度ヤンク連続ペーストの方法など

    viやvimのeditorで3つの質問です。 ヤンクした内容を連続してペーストする場合 どういう操作をすれば一番効率がいいのでしょう? "hoge"をヤンクして 複数行に渡ってペーストしたくても 一度ペーストするとヤンクバッファが空になってしまい 連続ペーストができなくて、またヤンクしてペースト、 ヤンクしてペーストと なんだか余計な操作をやっているようで 作業が面倒です。 もうひとつの質問は単語ヤンク(Not行ヤンク)した内容を 新たに改行してペーストする場面での効率的なやり方。 ywして単語をヤンクしたものを 次行を作成してペーストする時 わざわざoコマンドで挿入モードで改行して またエスケープキーでコマンドモードに移って pしていますが なんだか自分のやり方はえらくアホな感じがして もっと効率的なコマンドはありますか? あとviのコマンドモードのControl+Gってどのような コマンドでしたでしょうか? どうかよろしくお願いします。

  • 指定範囲内のカウント

    先日はありがとうございました。 おかげさまで、1つ作業が終了しました。 ですが、またわからないことが出てしまったので ご教授ください。 現在、B2~任意の行列に書かれている"済"という単語の数を 数えるマクロを作成しています。 下記のマクロは作成したマクロのなのですが 1列のみであれば、動きます。 しかし、任意の列の指定がうまくいかず 困っています。 If Not Application.Intersect(Target, Range("B2B" & y)) Is Nothing Then With Worksheets("Sheet2") .Range("B" & z).Value = _ Application.WorksheetFunction.CountIf(.Range("B2:B" & y), "済") End With End If yは最下行の2つ上までを表しています。(B10が最下行の場合はB8) zは最下行を表しています。 1行目に任意の列(可変)まで項目が記入されていて その箇所までを対象としようとしています。 これを、列も任意の箇所にする場合はどのようにすればいいのでしょうか? 聞くばかりになってしまって申し訳ないですが よろしくお願いします。

  • viで行の検索をしたいのですが?

    http://itpro.nikkeibp.co.jp/members/LIN/LIN_CONTENTS/20020531/1/vi.shtmlから vi [-Rbnr] [+[line]] file という構文が示されていますが、いまいちうまく出来ません。(指定の仕方がまちがっているかもしれませんが) sshでPuttyを使って、RedHat9(Publisher's Edition) を操作しています。 cのプログラミングをはじめたばかりですが、( gccのコマンドも使い切ってないのですが、) エラーの場合に出てくる行番号が エディタ上にはでてこないので、これを検索する方法を探していました。man でも探しましたが、分かりませんでした。cのプログラミングのエディタのもっと良い方法があれば更に知りたいのですが。(cpuが遅いので、sshで操作しています。)基本的にはviでの行の検索方法です。よろしく、お願いします。

  • エディタのviで行数を指定せずに、複数行をコピー&ペースト

    エディタのviで、 複数行を選択してコピーして、それを別のところに貼り付けたいのですが、 やり方を教えてください。 nY のあとに Pなどとすれば、n行をコピー&ペーストできる、 というのはわかります。 でも、このやりかたでは、コピーするまえに行数がわかってないといけないと思います。(わたしは行数をいちいち数えている。) わたしの知りたいのは、n行という行数を指定しなくてもできるやり方です。 たとえば、 Windowsのメモ帳なら、 シフトキー+矢印キーで範囲指定し、Control+Cでコピーし、コピー先の場所に移動し、Control+Vで貼り付けできます。 行数がわからなくても、コピー&ペーストできますよね。 そういうやりかたが知りたいのです。 行番号の表示がない状態でできるやりかたがいいです。(それがデフォルトの状態なので。) わたしは、端末(PC)でエミュレータを立ち上げて、UNIXマシンに入っているのですが、 エミュレータの機能をつかったりとかマウスをつかったりはしないやり方を教えてください。

  • Excel2007で、指定範囲の行高さ及び列の幅を求める式は?

    1行、1列の場合は行や列を指定後、右クリックすれば行の高さや列の幅を選べます。 今の質問はセル範囲を指定した場合、範囲全体の行の高さと列の幅を表示させる式を教えてください。 また、その単位は何でしょうか?行の高さ=24.6と、列の幅=3.5とはそれぞれ何でしょうか?また、印刷時のmmとの対応はどんな関係でしょうか?

  • excel 2007 データを素早く範囲指定

    こんにちは。 excelを使用していますが、データが大量すぎて毎日すごく疲れます。 ショートカットキーか何らかの方法で、素早く正確に作業したいので相談させてください。 A列には1~1000行まで、範囲すべてにデータが入っています。 B列には1行目にデータが入っていますが、他にははいっていません。 C~Z列にはデータがあったりなかったりです。 B列1行目にマウスポインタがある状態で、 A列からZ列の1行~1000行目までをすばやく範囲指定する方法を教えてください。 よろしくお願いします。

  • エクセルファイルの指定範囲を1ページに収める方法

    エクセルファイルの指定範囲を1ページに収める方法 シート全体の行ピッチを適当な数字を入力しながら変更し、1ページにちょうど収まるかどうか印刷プレビューで確認する作業を繰り返しています。1ページに収めたい範囲を先に指定するだけで行ピッチを変える方法はあるのでしょうか?