新着記事

2006年04月19日

vimエディタ ヘルプのgrep

vimエディタのヘルプもgrepにかけることができます。
:helpgrep search_keyword

このヘルプのgrep機能が使えるのは、
ヘルプのどこに該当のドキュメントが記述してあったか忘れた場合とか、
ヘルプのキーワードとなる語がわからないような場合ですね。


このhelpgrepコマンドを使うと、
vimエディタのhelpコマンドで適当にキーワード入力して探すより、
目的のドキュメントに早く辿り着ける場合があります。


helpgrep_many_match.jpg
"helpgrep"コマンドの検索では、
検索がヒットしすぎてしまうこともある。
上は":helpgrep"コマンドで"register"を検索したら、
沢山見つかりすぎてしまったの図。



使い方は、探したい語、パターンを引数に
":helpgrep"コマンドを実行すればOKです。

:helpgrep search_keyword



":helpgrep"コマンドでのgrep検索実行後は、
vimエディタの":grep"コマンドで検索した後の操作と一緒で、
:copen
で、grep結果の一覧を表示、
:cclose
で、一覧を閉じることができます。


helpgrep_select.jpg

grep結果一覧からファイルを選択すると、
そのドキュメントをvimエディタで開ける。





本日は以上です。
ではでは。




名無しのVIM使いは移転しました。
http://members.jcom.home.ne.jp/advweb/ => http://nanasi.jp/
posted by 小見 拓 at 02:57| Comment(1) | TrackBack(0) | 基本 (vimエディタ) | このブログの読者になる | 更新情報をチェックする

2006年04月06日

指定したカラム位置にテキストを流し込む その2 (vimエディタ)

3週間もかけてリニューアル作業してたのに、単に見づらくなっただけで終わったので、
3週間分の成果を破棄しました。本気で泣けた(´・ω・`)



今日は、前回の記事でコメントで教えてもらった方法の紹介。
vimエディタで、指定したカラム位置にテキストを流し込む その2


vimエディタのヘルプだと、下の場所になります。

:help visual.txt | /Visual-block Insert

Visual-block Insert
With a blockwise selection, I{string}<ESC> will
insert {string} at the start
of block on every line of the block.

vimエディタで矩形選択して、「I」を入力して入力モードに移った後、
文字列{string}を入力、
その後、<ESC>を押すと、矩形選択した全ての行のブロックの先頭に、
先ほど入力した文字列{string}が入力されます。



Visual-block Append
With a blockwise selection, A{string}<ESC> will
append {string} to the end of
block on every line of the block.

vimエディタで矩形選択して、「A」を入力して入力モードに移った後、
文字列{string}を入力、
その後、<ESC>を押すと、矩形選択した全ての行のブロックの最後に、
先ほど入力した文字列{string}が入力されます。



ほぅほぅ、なるほど。
よく知りませんでしたが、便利な機能があるんですね。
また、少し賢くなりましたよ。


つまり、前回書いた記事の場合は、
こうやれば良かったらしい。




例えば、下のようなSQL文があるとして、
insert into card_info values ('NW0001', 'ALFKI');
insert into card_info values ('NW0002', 'ALFKI');
insert into card_info values ('NW0003', 'ALFKI');
insert into card_info values ('NW0004', 'ALFKI');

このSQL Insert文を、下のように修正する場合の話。
insert into card_info (card_id, customer_id) values ('NW0001', 'ALFKI');
insert into card_info (card_id, customer_id) values ('NW0002', 'ALFKI');
insert into card_info (card_id, customer_id) values ('NW0003', 'ALFKI');
insert into card_info (card_id, customer_id) values ('NW0004', 'ALFKI');




文字を入れる場所を矩形選択して、
insert into card_info values ('NW0001', 'ALFKI');
insert into card_info values ('NW0002', 'ALFKI');
insert into card_info values ('NW0003', 'ALFKI');
insert into card_info values ('NW0004', 'ALFKI');


「I」を入力して、入力モードにする。
vim_block_insert_chmode.jpg


入力モードになったら、その行にテキスト「(card_id, customer_id) 」を入力。
insert into card_info (card_id, customer_id) values ('NW0001', 'ALFKI');
insert into card_info values ('NW0002', 'ALFKI');
insert into card_info values ('NW0003', 'ALFKI');
insert into card_info values ('NW0004', 'ALFKI');



ESCキーを押すか、Ctrl押しながら[を押すと、
選択していた他の行のブロックの先頭に
今、入力した文字列が入力される。

insert into card_info (card_id, customer_id) values ('NW0001', 'ALFKI');
insert into card_info (card_id, customer_id) values ('NW0002', 'ALFKI');
insert into card_info (card_id, customer_id) values ('NW0003', 'ALFKI');
insert into card_info (card_id, customer_id) values ('NW0004', 'ALFKI');

vim_block_insert_complete.jpg


わぉ!! これは、すばらしいね。(`・ω・´)







本日は以上です。
ではー。



名無しのVIM使いは移転しました。
http://members.jcom.home.ne.jp/advweb/ => http://nanasi.jp/

posted by 小見 拓 at 00:15| Comment(0) | TrackBack(0) | 基本 (vimエディタ) | このブログの読者になる | 更新情報をチェックする

2006年03月18日

指定したカラム位置にテキストを流し込む (vimエディタ)

例えば、下のようなSQL文があるとして、
insert into card_info values ('NW0001', 'ALFKI');
insert into card_info values ('NW0002', 'ALFKI');
insert into card_info values ('NW0003', 'ALFKI');
insert into card_info values ('NW0004', 'ALFKI');

このSQL Insert文を、下のように修正する場合の話。
insert into card_info (card_id, customer_id) values ('NW0001', 'ALFKI');
insert into card_info (card_id, customer_id) values ('NW0002', 'ALFKI');
insert into card_info (card_id, customer_id) values ('NW0003', 'ALFKI');
insert into card_info (card_id, customer_id) values ('NW0004', 'ALFKI');



このように修正する場合、
"card_info"と"values"の間、左から23列目の位置に
"(card_id, customer_id) "という
テキストを入れる必要がありますよね。


こういうテキスト変換処理は「%c」を使うと楽なんです。



置換処理で「%c」を使うと、あるカラムを指定することができるので、
まず、変換する範囲を指定して、
vim_per_c_select.jpg

:'<,'>s/\%23c
次に「%c」でテキストを差し込むカラム位置を指定、
(%は\でエスケープする。)
vim_per_c_pre.jpg

:'<,'>s/\%23c/(card_id, customer_id) /
差し込むテキストを入力して実行。
vim_per_c_post.jpg

これで、23列目の位置にテキストを流し込むことができます。
(指定したカラムにあった文字は置き換わらないで、
入れたテキストの長さの文だけ、右側にずれます。)
vim_per_c_replaced.jpg



この置換を使う場合、カラム位置が即座には分からないでしょうから
カーソルのある場所のカラム番号をステータスラインに表示しておくと、
便利だと思います。
vim_per_c_statusline.jpg




本日は以上です。
ではー。



名無しのVIM使いは移転しました。
http://members.jcom.home.ne.jp/advweb/ => http://nanasi.jp/

posted by 小見 拓 at 00:33| Comment(4) | TrackBack(0) | 基本 (vimエディタ) | このブログの読者になる | 更新情報をチェックする
記事検索
 
カテゴリ
最近のコメント
QKCのインストール [3-4/18]
 ⇒ kova (05/23)
calendar.vimには日記をつける機能があったらしい。
 ⇒ とまと (03/07)
最近よく見るようになったvimスクリプトのコメントの書き方
 ⇒ 小見 拓 (02/13)
 ⇒ kana (02/11)
vimエディタ ヘルプのgrep
 ⇒ みかん (07/15)
指定したカラム位置にテキストを流し込む (vimエディタ)
 ⇒ こみ (03/20)
 ⇒ とおりすがり (03/19)
 ⇒ こみ (03/18)
 ⇒ takayama (03/18)
tempfile -- Generate temporary files (Mac OSX)
 ⇒ take3 (01/20)
 ⇒ こみ (01/19)
 ⇒ take3 (01/18)
 ⇒ こみ (01/17)
 ⇒ take3 (01/14)
WebObjectsのオープンソースプロジェクト Project Wonderってなんじゃろな。#2
 ⇒ (06/30)
 ⇒ Tetsuya Kuramochi (06/29)
 ⇒ Tetsuya Kuramochi (06/29)
WebObjectsのオープンソースプロジェクト Project Wonderってなんじゃろな。#1
 ⇒ (06/03)
 ⇒ Tetsuya Kuramochi (06/02)
最近のトラックバック
vimエディタで「文字コード、改行コードを変更して保存する。」
 ⇒ window.closed (04/25)
 ⇒ himesuke’s STEP-log (03/18)
 ⇒ PukiWiki/TrackBack 0.2 (05/07)
vimエディタの折りたたみ機能の話。その2 (foldmethod=syntax)
 ⇒ 俺の基地 (PukiWiki/TrackBack 0.3) (04/20)
ログファイルを監視して、特定のキーワードが見つかったら、何らかのコマンドを実行する。
 ⇒ Apple Fan (10/16)
ファイル保存ダイアログの初期ディレクトリについての話 (vimエディタ話)
 ⇒ ナレッジエース (07/23)
:e <C-x> (編集中のファイルと同じディレクトリにあるファイルを開く。)
 ⇒ ボクノス (02/07)
Opening many files using wildcards.
 ⇒ PukiWiki Plus! (PukiWiki/TrackBack 0.4) (10/28)
 ⇒ 川o・-・)<2nd life (07/18)
vimエディタで印刷自由自在 その8 -エディタからの直接の印刷の代わりに、2html.vimスクリプトを使用する-
 ⇒ Knoppix Temporary Directory (PukiWiki/TrackBack 0.3) (02/19)
検索でマッチした対象に対して、置換を行う。(vimエディタ話)
 ⇒ 123net :: 開発日記 (12/31)
ごみ箱にファイルを叩き込むスクリプト。(vimエディタ)
 ⇒ "OSX" .app's :Macのアプリを便利、感動、面白をベースにほぼ日刊で紹介。 (11/26)
パーセント、%、percent でのカーソル移動 (vimエディタ話)
 ⇒ プログラミング言語 (10/11)
過去ログ
Profile
小見 拓
mail@nanasi.jp
小見と申します。
神奈川でデベロッパーやってます。
名無しのVIM使い

RSS 1.0


広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。