新着記事

2004年09月09日

vimエディタの「レジスタ」第6話

vimエディタのレジスタ話、第6回目。


残り。

アルファベットの大文字、小文字


アルファベットのレジスタは、英大文字小文字で同一の領域を使用する。


だから、下のコマンドの結果は同じになります。

(aレジスタの中身をペーストする例。)
"ap
"Ap



ペーストする場合は同じだけど、
文字列を入れる時はアルファベットの大文字小文字で挙動が異なります。


アルファベット小文字のレジスタは
今入っている文字列を新しい文字列と入れ替え、
アルファベット大文字のレジスタは
今入っている文字列の最後に新しい文字列を追加します。


例えば、
aレジスタに"foo"という文字列が入っている時、


  • "hoo"をAレジスタを使用して入れた場合 →aレジスタの中身は"foohoo"

  • "hoo"をaレジスタを使用して入れた場合 → aレジスタの中身は"hoo"


となります。

入力モードでレジスタの文字列を貼り付けたい時


ノーマルモード、コマンド入力時、検索時のキーワード入力時にレジスタの文字列を使用したい時は、


Ctrlキーを押しながらrキーを押して、次にレジスタの名前を入力すると良い。


例えば、aレジスタの文字列を貼り付ける時は、下のように操作する。

Ctrl-r a


vimの使い手にとって分かりやすく書くと、

<C-R>a


スクリプトでレジスタに値をセットする


:letを使用する。


aレジスタに"hoge"という文字列をセットする時は、


:let @a="hoge"

と書く。



本日は以上。



vimエディタ、レジスタ話のリンク。
・1 http://advweb.seesaa.net/article/435064.html
・2 http://advweb.seesaa.net/article/438711.html
・3 http://advweb.seesaa.net/article/512417.html
・4 http://advweb.seesaa.net/article/517151.html
・5 http://advweb.seesaa.net/article/543815.html

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

2004年09月07日

vimエディタの「レジスタ」第5話

vimエディタのレジスタ話、第5回目。


今日はExpressionレジスタの話。


このレジスタは、式を評価して、
その結果を貼り付けることができるレジスタです。


このレジスタは、出し入れするだけの他のレジスタとはちょっとだけ使い方が違ってるので、使い方から説明します。


ノーマルモードで、


"=

と入力すると、下のような画面になって何らかの式を入力することが可能になり、
[expression register]初期状態

ここで式を入力。
[expression register]5+6

Enterキーで確定させると、「p」で結果をペーストすることができるようになります。
(ただし、ペースト前になんらかの操作を行うと、ペーストできなくなる。)



Expressionレジスタの式には、
・数式、
・文字列
・vimの変数、
・vimのファンクション
が使用できます。


数式の例。演算子には+、-、*、/、%が使用できる。
=5 * 8


文字列の例。「.」でそれぞれの文字列の連結ができる。
="A Text:" . "B Text"


変数の例。
=$VIMRUNTIME


ファンクションの例。ファンクションについては、
:help functionsを参照。
=winnr()





このExpressionレジスタの使い方は知っていても、私自身は全然使ったことがありません。
他の方々はどう使ってるんでしょうね?



本日は以上です。
では
posted by 小見 拓 at 05:48| Comment(0) | TrackBack(0) | レジスタ (vimエディタ) | このブログの読者になる | 更新情報をチェックする

2004年09月01日

vimエディタの「レジスタ」第4話

vimエディタのレジスタ話、第4回目。


数字とアルファベットのほかにもレジスタは用意されています。今回は、これら記号のレジスタの話です。



% (パーセント)、# (シャープ)


%レジスタには、現在、編集しているバッファの名前が入ります。


だから、ノーマルモードで下のコマンドを使用すると、
現在のバッファ名をペーストすることができます。

現在のバッファ名をペーストするコマンド。
"%p


#レジスタには、代替ファイルが入ります。


一つのファイルだけを開いている場合には、その開いているファイル名、
複数のバッファを開いている場合には、1つ前に開いていたファイル名が入ることが多いかな。


* (アスタリスク)、+ (プラス)


これらのレジスタには、OSのシステムのクリップボードの中身が入ります。


これらのレジスタには逆に、文字を入れることも可能で、その場合、そのレジスタに入れられた文字列は、他のアプリケーションでペーストで取り出すことができます。


なので、このレジスタは、他のアプリケーションと、やり取りする時に頻繁に使用します。


クリップボードの中身を貼り付けるコマンド。
"*p


クリップボードに、1単語分のテキストを入れるコマンド。
"*yw



/ (スラッシュ)


「/」、もしくは、「?」による検索を行うと、その検索に使用した文字が、この/レジスタに入ります。


検索に使った文字列を貼り付けるコマンド
"/p


: (コロン)


最後に入れたコマンドモードのコマンドが入ります。


最後に使用したコマンド文字列の貼り付け。
":p



- (マイナス)


削除した文字列が入れられます。
ただし、1行以下の削除の時のみ、このレジスタに文字列が入ります。

. (ピリオド)


入力を始めてから、ノーマルモードに戻るまでに入力された文字列が入ります。




本日はこれで。

多分続く。
posted by 小見 拓 at 02:55| Comment(0) | TrackBack(0) | レジスタ (vimエディタ) | このブログの読者になる | 更新情報をチェックする

2004年08月30日

vimエディタの「レジスタ」第3話

vimエディタの「レジスタ」第3回目。


今回は数字のレジスタの話。


レジスタには、0から9までの数字のレジスタが用意されています。
これらのレジスタはvimエディタのシステムが利用していますが、中身がどんなものであるかを知れば、我々エディタの使い手側でも使用することは可能です。

0のレジスタ


0レジスタには、最後にカットなり、ユンクなりした文字列が入れられています。


だから、pコマンドでペーストされる文字列と、0レジスタの中身は同じになります。

1〜9のレジスタ


1から9までのレジスタには、vimエディタで、カットや削除した文字列が、新しい順に、1のレジスタから入れられます。


最後にカットや削除した文字列は、新しく1のレジスタに入れられ、
次にカットや削除をすると、
1のレジスタに入れられていた文字列は2のレジスタに、
2のレジスタに入れられていた文字列は3のレジスタに、
とずれていきます。


"1 → "2
"2 → "3
"3 → "4


昔、viというエディタではアンドゥが1回しかできませんでしたが、この数字のレジスタを利用することで、レジスタ9回分のリカバリーが可能だったらしいです。


私自身は、これを利用して復帰できたことは無いんですけどね。


なにしろ、このリカバリ方法は、失敗直後に、正確にそれまで、どのように編集をしたかを覚えていないと修正できません。
脳みそ弱い私には3回分ぐらいまでしかできないかな。
昔の人はすごいですね。


良い子の皆さんは、おとなしくvimの複数回アンドゥを使ってリカバリしましょう。



さて、vimには複数回アンドゥの機能が付いていますが、
・そんな機能は邪道。
・もしくは絶対数字のレジスタを使ってリカバリする。
という硬派な御方には取って置きの秘策を。

:set undolevels=0

.vimrc設定ファイルに上の設定を加えてみてください。
きっと、楽しいことになるでしょう。



本日は以上です。


ではでは。
posted by 小見 拓 at 03:30| Comment(0) | TrackBack(0) | レジスタ (vimエディタ) | このブログの読者になる | 更新情報をチェックする

2004年08月12日

vimエディタの「レジスタ」第2話

vimエディタの「レジスタ」第2回目。


まず、前回の内容の復習。簡潔に。


vimエディタの「レジスタ」には、文字列を格納できる。
(文字以外も格納できる。改行とか。)


レジスタは沢山領域が用意されているので、これを使うと、1度に複数箇所のコピペができて、楽チン。




それでは、第2回目。


vimエディタの「complex repeats」とか「マクロ」とか呼ばれている機能では、操作の記録の格納先の名前としてアルファベットを指定できました。
(qキーを押すと始まる、操作の記録機能の事を言ってますよー。)


この時、操作の記録のデータがどこで保存されていたかというと、実はこのレジスタに入れられています。


試しに、マクロを記録して、下のコマンドを入力すると、マクロで指定した名前のレジスタに、今記録したばかりの、マクロの操作記録が入れられているのが確認できると思います。


:display



レジスタに入れられているので、このマクロの操作記録は、当然他のレジスタに入れられた文字列と同じように扱うことができます。


例えば、あるaという名前のマクロがある時、下の操作で、aマクロの操作記録を文字列でペーストすることができます。


"ap



逆に、レジスタに文字列をコピー、カットなどで入れた時、そのレジスタに入れられた文字列をマクロとして動作させることもできます。


例えば、aレジスタに、下の文字列を格納してから、


iabcde


aという名前のマクロを使用すると、
(下のコマンドで)

@a

aレジスタに入れられた文字列をなぞった動作を行います。
(この場合は、入力モードになって、abcdeを自動的に入力します。)


これを利用して、


・よく行う動作をテキストで残しておいて、後でマクロとして実行する。(マクロを実行したいときに、レジスタに文字列を入れてから、実行。)


・詰めviの回答チェックに使う。(レジスタに回答の文字列をコピーして、マクロを実行、詰めviの回答があっているかを確かめる方法。)


などなどができます。




タイムアップ。


本日は以上です。
posted by 小見 拓 at 02:42| Comment(0) | TrackBack(0) | レジスタ (vimエディタ) | このブログの読者になる | 更新情報をチェックする

2004年08月11日

vimエディタの「レジスタ」

vimエディタでは、「レジスタ」という名前のついた領域が用意されています。


このレジスタの領域には文字を格納することができ、
当然格納されている文字を出したり、入れたりすることもできる。


レジスタは、いくつかに分かれていて、
それぞれ名前がつけられている。


アルファベットと数字が主で、数字の名前のレジスタはvimエディタが使用するので、大抵、アルファベットの方を使用する。


どんな名前のレジスタがあるかは、
:display
で分かる。




「" + 名前」で各レジスタを指定できて、それでもって、レジスタから文字を取り出したり、レジスタに文字を格納することができます。


例えば、「a」という名前のレジスタを使うには、
次のようにすると良い。


"ap (aレジスタに格納されている文字を貼り付ける。)
"ayw (aレジスタに1単語分の文字を格納する。)


ちなみに、現在どのレジスタに何が格納されているかを知るには、前述の

:display

を使うと良い。



短いですが、今日はここまで。


つづくかな?
posted by 小見 拓 at 02:33| Comment(0) | 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年以上新しい記事の投稿がないブログに表示されております。