重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

よろしくお願いします。
vi(vim)もしくはgvimについて、2件の質問があります。

(1)exコマンドにコピーをする方法を教えてほしい
長い関数があって(例:hogehogehoge)、この関数を検索などをするとき
/hogehogehoge
としますが、関数名が長い場合など、バッファのコピーを張り付けたいのです。
gvimだと:ptagなどで使いたいです。

(2)vi(gvim)でグラフィカルにgdbデバッガを使いたい
インターネットで検索すると、複数のウィンドウでgdbをする例などもありますが、うまくいきませんでした。
helpを見てもよくわかりませんでした。
正しいやり方を探しています。
(vimはemacsのように「環境」になりつつあるイメージです)
一番やりたいことは、vim上でステップ実行です。


お世話になりますが、よろしくお願いいたします。

#環境
linux Fedora core 8
vim version 7.1.242

#vimのおもな使用目的
プログラミング

#emacsは挫折しました
俗に言うemacs小指になってしまったので,vimに朝鮮しています。

A 回答 (2件)

(1)


Ctrl-R
の後に名前付きバッファ(僕はレジスタと読んでましたが多分一緒だと思います・・・)
を指定することで、バッファの内容を挿入できます。
ちなみにクリップボードの内容はレジスタ「*」に入ります。
これはコマンドライン(?)の時だけでなく、挿入モード時にも有効です。

(2)
vimGdbというのがあるらしいのですが、ちょっと古くてVim7.*では使えなかったと思います。
http://www.google.co.jp/search?q=vimgdb

参考URL:http://www.google.co.jp/search?q=vimgdb

この回答への補足

ありがとうございます。
(2)の件(vimgdbについて)もできました。

本家のダウンロード先に行ってみると[Vim7.*]にも対応しているバージョンがリリースされていました。
vimgdbのインストールを説明している日本のサイトの内容で、ほぼ問題なくインストールできました
(変更点はconfigureを実行するときの引数くらい)

おかげで、vim上でステップ実行ができるようになりました。
(かなり快適です)

ありがとうございます。

#すみません。
追加で回答へのお礼ボタンが見当たらなかったため、
追加で補足のほうへ書き込ませてもらっています。

補足日時:2008/10/25 15:23
    • good
    • 0
この回答へのお礼

取り急ぎ、お礼だけ言わせてください。

(1)について
今、やってみました。
期待することができました。ありがとうございます。
追加で教えて頂いた2件(クリップボードの件、挿入モードでも使える件)についても、やってみました。
おっしゃってるようにできました。
非常に有用で、助かりました。ありがとうございます。

(2)について
初めて知りました。ちょっと試してみようと思いますが、
時間がかかりそうでしたので、
取り急ぎ、上記の(1)の件について、「できた報告」と「お礼」を伝えようと思い投稿しました。
もう少しチャレンジしてみて、報告をさせていただきます。
ありがとうございます。

#(参考)名前付きバッファの由来
名前付きバッファの呼び方は、下記の本で使っていたので、私も使っていました。
(直接リンクを張ってよいのかどうかわからなかったので、書籍情報だけ、貼り付けます)

入門vi 第6版 (単行本)
リンダ ラム (著), アーノルド ロビンス (著), Linda Lamb (原著), Arnold Robbins (原著), 福崎 俊博 (翻訳)
出版社: オライリー・ジャパン (2002/05)

お礼日時:2008/10/24 23:24

(1)についてだけ。


名前付きバッファをご存じでしょうか?
a という名前のバッファに /hoehoe という内容を入れておくと、コマンドモードで @a と打つことでそのコマンド(この場合はhoehoeの検索)を実行できます。:%s/foo/bar/g と入れておけば置換も出来ます。

名前付きバッファaへの入れ方は、/hoehoe という1行を作ってその行上にカーソルを置いて、"ayy で入ります。"add と元の行を消しても良いし。
二重引用符+バッファ名+(削除またはヤンクコマンド)です。名前はa以外も使えます。詳しくは検索して下さい。
    • good
    • 0
この回答へのお礼

早速のご回答、ありがとうございます。
私のお渡しした情報が不完全で申し訳ありません。
結果から申し上げると、私が求めていたものと少し齟齬があります。

(1)名前付きバッファについて
知っています。[@]コマンドはマクロのことをおっしゃていると思います。
名前付きバッファに保存したコマンドを[@a]などで行うものと認識しています

この方法だと
:ptag hogehoge

/hogehog
は別のマクロとして登録しておかなければなりません。

私がしたかったのは、
[hogehogehoge]という関数名をコピー。
この関数を探そうと思って、
/[ここに貼り付け]
それでも分からないので
:tag [ここにもう一度貼り付け]
別のウィンドウで見たいなと思いなおして
:ptag [ここにもう一度貼り付け]
のように、関数名をコピーして、exコマンド上で張り付ける方法が知りたかったのです。

#これができれば、置換だって、シェルで何かしようと思ったって便利だと思っています。

せっかく、教えてくださったのに、すみません。
回答、ありがとうございます

お礼日時:2008/10/24 21:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!