新着記事

2005年12月04日

vimエディタで選択モードを使用しないで、矩形選択を行うにはどうすれば良いのかという話。

vimエディタで選択モードを使用しないで、
矩形選択を行うにはどうすれば良いのかという話。




対象のファイルは、このファイルを用いることにします。
見ての通り、特に変わったところのないテキストファイルです。
vim_block_first.jpg




vimエディタで、ある行を指定するには、
 \%Nl 
と指定します。(Nは数字)
vim_block_4l.jpg


ある列(カラム) を指定するには、
 \%Nc 
と指定します。(Nは数字)
vim_block_15c.jpg




指定した場所より、前、もしく後の場合は、「<」「>」で指定することになっています。


例えば、
ある行より上の行を指定するには
 \%<Nl 
ある行より下の行を指定するには
 \%>Nl 
というように指定します。(Nは数字)
vim_block_4lu.jpg
vim_block_4ld.jpg


ある列(カラム) より前の列(カラム) を指定するには、
 \%<Nc 
ある列(カラム) より後の列(カラム) を指定するには、
 \%>Nc 
と指定します。(Nは数字)
vim_block_15cu.jpg
vim_block_15cd.jpg




これらの指定は、組み合わせて同時に使用することができます。
 \%>4l\%<11l 

vim_block_4ld_15lu.jpg


 \%>7c\%<21c 

vim_block_7cd_21cu.jpg


 \%>3c\%>5l 

vim_block_3cd_6ld.jpg




ここまでで説明した、全ての指定を同時に使用すると、ようやく菱形選択ができます。
 \%>3c\%<35c\%>2l\%<9l 

vim_block_3cd_35cu_2ld_9lu.jpg


結構面倒 (´ヘ`;)




今回は以上です。
ではでは〜。

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

2005年09月12日

:argsコマンドで一度に複数のファイルを開く。(vimエディタ関連)

今日はvimエディタのお話。
興味の無い人は申し訳ない。スルーしてください。



:editコマンドでは、複数ファイルを一度に開けない。

:edit AAA.txt BBB.txt CCC.txt

vim_multi_edit_1.jpg

これは駄目。



でも、:argsコマンドなら
複数ファイルを同時に開くことができる。

:args AAA.txt BBB.txt CCC.txt

vim_multi_edit_2.jpg

これは開ける。



argsコマンドの省略形はarだから、
:arでも良い。

:ar AAA.txt BBB.txt CCC.txt

vim_multi_edit_3.jpg

これでも大丈夫。





今日はこれだけなのです。
ではでは〜


関連
Opening many files using wildcards.
http://advweb.seesaa.net/article/4626539.html

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

2005年08月15日

未知のオプションです。: ^M

vimエディタの拡張スクリプトのエラーのお話。
vimエディタを設定ファイルの変更にしか利用しなかったり、
あるいは、vimスクリプトを使いまくっている人には全く役に立たない話。



vimエディタのスクリプトを何処かから手に入れて、
(例えば vim online などから)
そのスクリプトをインストールした後、
vimエディタを起動した時や、スクリプトを呼び出した時に、
下のようなエラーメッセージが表示されることがあります。

XXXXXXX の処理中にエラーが検出されました:
Error detected while processing XXXXXXX
E256: 未知のオプションです。: ^M
E492: Not an editor command: ^M
E15: Invalid expression: 'info --output=-'^M



vim_load_err.jpg

↓拡大

vim_load_err_details.jpg



エラーメッセージの最後に「^M」と表示される、これらのエラーは、
インストールしたスクリプトの改行コードがあっていないため、
vimエディタが、正しくスクリプトを解釈できないために発生しています。



この問題が発生した場合は、
次のような作業を行えばエラーが解決する可能性があります。


1. vimエディタを一旦終了する。
2. エラーの発生していたスクリプトを別の場所に移す。
  もしくは、そのスクリプトが読み込まれないようにしておく。
3. 問題のスクリプトの改行コードを、別の改行コードに変更する。
  大抵はUnixの改行コードに合わせれば大丈夫。

  ・vimエディタで「文字コード、改行コードを変更して保存する。」
   http://advweb.seesaa.net/article/3074705.html
  ・vimエディタで「形式を指定してファイルを再読込する」
   http://advweb.seesaa.net/article/2877155.html

4. 再度、スクリプトをインストール。
  先ほど、エラーの発生した状況でエラーが発生しなくなったか確かめてみる。





今日はこんなところですね。
ではでは〜。


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

2005年06月26日

Opening many files using wildcards.

ワイルドカードを使って、vimエディタから一度に複数のファイルを開く。
ワイルドカード
ファイルの検索でつかえる
アスタリスク (*) や疑問符 (?)などの記号


例えば、
開きたい対象のファイルが、カレントディレクトリにあって、拡張子が「.cs」のファイルなら、
下のいずれかのコマンドで開くことができる。
:args *.cs
:argadd *.cs
:n *.cs


なるほど。

ありがとう。vimメーリングリスト。

args_multifile.jpg
↑「args」コマンドの省略形は「ar」なので、これでも開ける。





一応、こんなで、今回の分は終わりです。
では〜。





役に立つかもしれない
:CdCurrent
の話とか


vimエディタの :cdコマンドの話。

誰でも知ってるvimエディタネタ#2 AutoDate、Scratch、CdCurrent、テキストオブジェクト「i"」「a"」「i'」「a'」「c`」「i`」
posted by 小見 拓 at 03:55| Comment(0) | TrackBack(2) | 基本 (vimエディタ) | このブログの読者になる | 更新情報をチェックする

2005年04月21日

vimエディタで「文字コード、改行コードを変更して保存する。」

vimエディタで、ファイルの文字コード、改行コードを修正、もしくは変更する時の話。

ファイルの文字コードや、改行コードを変更する時は、
変更したいファイルを開いた状態で、

・文字コードの変更
:set fileencoding=文字コード
:set fenc=文字コード (上のコマンドの短い形式。こちらでも良い。)
:set fileencoding=euc-jp (エンコーディングEUC-JPに変更。)
:set fileencoding=shift_jis (エンコーディングSHIFT_JISに変更。)
:set fileencoding=utf-8 (エンコーディングUTF-8に変更。)
・ファイルフォーマットの種類の変更
:set fileformat=ファイルフォーマットの種類
:set ff=ファイルフォーマットの種類 (上のコマンドの短い形式。こちらでも良い。)
:set fileformat=dos (改行をWindowsの形式に変更。)
:set fileformat=mac (改行をMacの形式に変更。)
:set fileformat=unix (改行をUnixの形式に変更。)
を実行します。



vim_fenc_change.jpg
これらのコマンドの実行後はファイルに変更が発生しているので、
変更を確定させるには保存が必要です。
:w





文字化けしていたり、ファイルの形式が崩れているファイルに対して、
エンコーディング、ファイルフォーマットの修正を行う場合は、
一旦、正しい形式に戻してから、
:set fileencoding、:set fileformatコマンドを実行することになります。

例えば、
ファイルが文字化けしている場合のエンコーディングの修正の手順は
下のようになります。

:e ++enc=utf-8
まず、ファイルを文字化けしない、正しいエンコーディングで開き直します。

:set fileencoding=euc-jp
変更したいファイルのエンコーディングをセットします。

:w
最後にファイルの保存を行います。



文字化けしているファイルのエンコーディングの修正は、
気をつけないと、
ファイルの上の方がshift_jisで書かれていて、
ファイルの下の方がutf-8で書かれているという状態が
発生したりします。

特に文字化けしていることに気づいていない時が危険です。





本日は以上です。
では。

関連 : vimエディタで「形式を指定してファイルを再読込する」

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

2005年04月17日

vimエディタのビジュアルモードで範囲選択中に、誤って、その選択範囲を消してしまったら。。

vimエディタのvisualモードを使っていますか?

私はよく使いますね。
visualモードで範囲を指定して置換を実行したり、特定の範囲の文章を移動させたり、、、

今回は、私のようにvisualモードを多用する人の為の記事です。



・visualモードで範囲を指定してからのコマンドの実行に失敗してしまったり、
・または、visualモードで選択中に誤ってESCキーを押してしまったり、
などなどの原因で、
visualモードで選択していた情報が消えてしまうことがありますよね。

vimエディタのvisualモードを多用する人なら、きっと経験があるかと思います。


visualmode_select.jpg

↓ visualモードで範囲選択中になんらかのミス

visualmode_not_select.jpg
visualモードで選択していた範囲の情報が消えてしまう。



そういった事態に陥ったときは、
慌てず騒がず落ち着いて、

gv
と入力すると良いでしょう。
「gv」コマンドは、最後に選択していたエリアを再選択するコマンドです。


visualmode_select.jpg
gvコマンド入力により、再び以前の選択状態に戻る。




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

2005年04月10日

vimエディタで「形式を指定してファイルを再読込する」

vimエディタでテキストファイルを開いた時に、
ファイルのエンコーディングや改行を正しく解釈できないことがあります。

そのような場合は、ファイルの形式を指定して、ファイルを開き直すことになるでしょう。
他のエディタの場合ですと、大抵、メニューに「形式を指定して開き直す」項目が用意されていますね。

GUIのvimはともかく、CUIのvimにはメニューはありませんので、そのやり方を覚えておく必要があります。
vimエディタでは「++」を使用して「形式を指定して開き直す」ことができます。


以下、「++」の使用例です。


ファイルのエンコーディングを指定して開き直す。


:e ++enc=指定したいエンコーディング
:e ++enc=euc-jp (エンコーディングEUC-JPを指定して開き直す。)
:e ++enc=shift_jis (エンコーディングSHIFT_JISを指定して開き直す。)
:e ++enc=utf-8 (エンコーディングUTF-8を指定して開き直す。)


この文字化けしたファイルを、、、
pp_enc_euc.jpg
↓ エンコーディングを指定して、開き直す。
pp_enc_sjis.jpg

ファイルのフォーマットを指定して開き直す。


:e ++ff=指定したいファイルのフォーマット
:e ++ff=dos (Windowsの形式を指定して開き直す。)
:e ++ff=mac (Macの形式を指定して開き直す。)
:e ++ff=unix (Unixの形式を指定して開き直す。)


この改行のぐちゃぐちゃになったファイルを、、、
pp_ff_mac.jpg
↓ ファイルフォーマットを指定することにより修正。
pp_ff_dos.jpg

複数の指定


複数指定する場合はこのようにします。
:e ++ff=unix ++enc=utf-8





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

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

2005年03月04日

「:cd -」で直前まで居たディレクトリにカレントディレクトリを変更できる。(vimエディタのちょっとした話。)

vimエディタの操作上のちょっとした話。


vimエディタで、下のコマンドを実行すると、
直前まで居たディレクトリに、カレントディレクトリを変更できます。

複数ディレクトリを行き来するような作業を行う場合には覚えておくと、役に立ちます。
:cd -



下は、適当な操作例です。
:pwd          (← 現在のカレントディレクトリを確認)
:cd /var/log (← カレントディレクトリを変更)
:pwd (← 現在のカレントディレクトリを確認)
:cd - (← 直前まで居たディレクトリに戻る)
:pwd (← 現在のカレントディレクトリを確認)
:cd - (← 直前まで居たディレクトリに戻る)
:pwd (← 現在のカレントディレクトリを確認)



私は、何故か、この操作の存在を忘れてることが多いんですけどね。
まだまだ、修業が足りないようです。




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

2005年02月08日

vimエディタの :cdコマンドの話。

何故か唐突に vimエディタの :cdコマンドの話。


vimエディタの :cd コマンドは、カレントディレクトリを変更するために使われます。

この:cdコマンドで、いくつかのディレクトリを移動している時、
直前まで居たディレクトリにカレントディレクトリを戻したくなったら、
:cd -

でカレントディレクトリを、直前まで居たディレクトリに戻せる。


今日はこれだけなんです。
ではでは〜。




おまけ。

現在編集中のファイルのあるディレクトリに、
カレントディレクトリを変更する。
:cd %:h

:CdCurrent (Kaoriya版vimの場合)


ファイルを指定して、そのファイルのあるディレクトリに、
カレントディレクトリを変更する。
(#8のファイルと同じディレクトリに変更する場合の例。
この番号(#8)がよく解らない人は、こちらを見てね。)
:cd #8:p:h

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

2005年01月28日

状況に応じて、読み込むvimプラグインを選択する。(vimエディタネタ)

vimエディタネタ。
今日のお題「読み込むvimプラグインを状況に応じて選択する。」


例えば、

・あるプラグインを、CUI版vimでは読み込みたくないけれど、GUI版vimでは読み込みたい時。
・コンパイルオプションやバージョンが違う複数のvimがインストールされていて、どれかの vim ではプラグインが原因でエラーが発生する場合。

こういう状況が発生した時に、
どのように読み込むプラグインを制御しようかという話です。


レアなケースです。
通常、こういう要求があることは無いでしょう。
必要となるのは、vimマニアな方々の、それも一部だけでしょう。

私の場合だと、Mac OSX 10.3 Pantherを使っていて、
システムにインストールされているデフォルトの CUI版vim がバージョン6.2、
Kaoriyaパッチ + いろいろコンパイルオプション付き GUI版vim のバージョンが6.3.54で、
バージョン6.3用作られたvimプラグインが CUI版vim でエラーになることがありました。




vimエディタを起動して、
:scriptnames
と、コマンドを入力すると解りますが、
vimプラグインを読み込む前には、$HOME/.vimrcファイルを読むので、
この.vimrc設定ファイルで読み込む vimプラグインをコントールすれば良いのではないかと思います。
:scriptnames コマンドは、設定ファイルを
読み込んだ順にリストとして表示するコマンドです。



デフォルトの vimプラグインの置き場所の
$HOME/vimfiles/plugin (Windows)
$HOME/.vim/plugin (Mac OSX)
にプラグインを入れておくと、そのまま置いたプラグインが読みこまれてしまうので、

状況に応じて、特定のruntimepathを新たに追加して、
その追加した runtimepathにプラグインを入れておくという
解決方法はどうでしょう?


例として、
Mac OSXを使用していて、GUI版vim のみ、特定のプラグインを読み込みたい時は、
まず.vimrc設定ファイルに下のように書いてしまう。
" load plugins for gui
if has('gui')
:set runtimepath+=$HOME/.vim/gui
endif

上のように書くと、起動したvimが GUI版の時に、
$HOME/.vim/guiディレクトリが、runtimepathに追加されるから、
$HOME/.vim/gui/pluginディレクトリに
GUI版vimのみで読み込みたいvimプラグインを入れておきます。

$HOME/.vimrc (設定ファイル)
+
+-- .vim/
+
+-- plugin/ (通常のpluginディレクトリ)
+-- gui/
+
+- plugin/ (GUI用のpluginディレクトリ)
上の例の場合のディレクトリ構造は、このようになります。

こうすると、GUI版vimの時だけ、
$HOME/.vim/gui/pluginに入れてあるvimプラグインを読み込むようになります。


後は、各個人の状況に合わせて、
いろいろ変えてください。


あと、プラグイン自体が、
読み込まないようにする設定を持っている事も多いから、
そっちを使うも吉。



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

2004年11月30日

シンタックスファイルには秘密がいっぱい。(vimエディタネタ)

もう3時を超えているので、かるーく終わらせます。




vimエディタには、シンタックスを管理するファイルがあり、これにより、ソースのカラーリング、ハイライト、インデントなどがコントロールされている。


このシンタックスファイルをデフォルトのまま使用している人はとても多いだろう。


vimエディタに用意されているシンタックスファイルの中には、
何らかの機能を隠し(?)持っていたり、
設定によりスクリプトの挙動を変えられるものも結構ある。


貴方が普段使用しているシンタックスファイルが
隠し(?)機能を持っているかどうか知るには、
ヘルプのsyntax.txtを参照するのが手っ取り早いだろう。

vimエディタ添付のsyntax.txtドキュメントを読むには、下のコマンドをvimエディタで入力すると良い。
:help syntax.txt




今日は以上です。

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

2004年11月02日

:windoコマンドで、全てのウインドウのバッファに対して、処理を実行する。[誰でも知ってるvimエディタネタ]

vimエディタの :windoコマンド。


このコマンドを使うと、vimエディタで、ウィンドウを分割している時に、その全てのウィンドウのバッファに対して、同じ処理を実行することができます。
   
便利ですよ。



:windo :set number

コマンド実行の例。
これがよくある使い方ですね。



:windo ! wc -l %

外部コマンド実行の例。



:windo /set

検索の例。



:windo :g/XXX/s/set/let/g

XXXという文字列がある行を探して、
その行に対して、set → letと置換、
する例。



:windo %d
:windo undo
:windo redo

全行消してから、やっぱり止ーめた、と見せかけて実行
の例。

:windoコマンドを使うなら、:undo、:redoは知らないと困ったことになると思いますよ。



本日は以上です。

:windoはいつか、もっと詳しくやるかも。
posted by 小見 拓 at 04:22| Comment(0) | TrackBack(0) | 基本 (vimエディタ) | このブログの読者になる | 更新情報をチェックする

2004年10月04日

:set wildmenu or :set nowildmenu [誰でも知ってるvimエディタネタ]

vimエディタのwildmenuオプションの話。


wilemenuオプションは、
vimエディタの設定ファイルに、下のように書くと有効になり、

:set wildmenu

下のように書くと無効になります。
:set nowildmenu



このwildmenuオプションを有効にすると、
vimエディタからのファイル選択時に↓のようになり、
wildmenu.jpg

このwildmenuオプションを無効にすると、
vimエディタからのファイル選択時に↓のようになります。
nowildmenu.jpg

:set wildmode=longest:full
での画像です。



で、見た目の他にはどう違うのかと言うと、


・wildmenuオプションが有効な場合、ファイルリスト上で上キーを押すと、上のディレクトリに移動できる。
・人にもよるだろうけど、wildmenuオプションが有効な場合、ファイルが多いときに目的のファイルを探しづらくなる。


こんなところでしょうか?


私は、

:set nowildmenu
:set wildmode=longest

あたりが好みなんですけどね。




wildmodeの説明が無いから解説として不十分な気がする。
でも時間が無いので本日は以上。
posted by 小見 拓 at 03:46| Comment(0) | TrackBack(0) | 基本 (vimエディタ) | このブログの読者になる | 更新情報をチェックする

2004年10月01日

MacOSXでターミナルからgvimの起動する2つの方法

Mac OSXでターミナルからgvimを起動する方法は2つあります。

1つめの方法はopenコマンドを使用すること。
2つめの方法はアプリケーションパッケージ内の実行ファイルをターミナルで実行する方法です。

この後の解説は/ApplicationsにVimのアプリケーションパッケージが
置いてあることを前提とします。


openコマンドで起動する方法



open -a "Vim"
open -a "Vim" ファイル

上のコマンドをターミナルから実行するとgvimが立ち上がります。

この方法でgvimアプリケーションを立ち上げると、
・アプリケーション起動時のvimのカレントディレクトリが/になる。
・ファイル名を指定した時に、そのファイルが無いとエラーになる。
・gvimのコマンドラインオプションが指定できない。
・既に他のgvimが起動している時は、そのgvimでファイルが開かれる。
となります。

アプリケーションパッケージ内の実行ファイルを実行する方法



/Applications/Vim.app/Contents/MacOS/Vim -g &
/Applications/Vim.app/Contents/MacOS/Vim -g ファイル &
/Applications/Vim.app/Contents/MacOS/Vim -g オプション &
/Applications/Vim.app/Contents/MacOS/Vim -g オプション ファイル &


上の処理を実行するシェルスクリプトは
http://macvim.org/で配布しているgvimに含まれています。


この方法でgvimアプリケーションを立ち上げると、
・アプリケーション起動時のvimのカレントディレクトリは、コマンド実行時のターミナルのカレントディレクトリと同じになる。
・ファイル名を指定した時にそのファイルが無いと、その名前のバッファを作成する。
・gvimのコマンドラインオプションが指定できる。
・既に他のgvimアプリが起動していても、新規のgvimアプリケーションを立ち上げる。
となります。



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

2004年09月17日

vimエディタで「θ」を入力する。DIGRAPHS使ってみない?

DIGRAPHSというのがある。

まず、下のコマンドを入力してみて欲しい。

:digraphs


そうすると、下のような画面が表示される。
[vim]digraphs

その画面から「θ」を探すと、
下のような文字と数字の組が見つかる。

H* θ 33702


vimエディタで、入力モードになって、
下のように入力すると、「θ」が入力できる。

<C-k>H*

[vim]digraphs 入力

簡単に言うと、
Ctrl-kを入れた後、
表で見つかった文字と数字の組の内、左の2文字を入力すると、
真ん中の文字をvimエディタで入力することができる。




今日は夜も遅いので、ここまで。
posted by 小見 拓 at 03:20| Comment(0) | TrackBack(0) | 基本 (vimエディタ) | このブログの読者になる | 更新情報をチェックする

2004年09月10日

誰でも知ってるvimエディタネタ 「スラッシュ入りの文字列をエスケープ無しで検索する」

スラッシュ入りの文字列っていうと、
ディレクトリ名とか、URLとかですね。
例えば、
http://dir.yahoo.co.jp/Computers_and_Internet




 


答え。

?http://dir.yahoo.co.jp/Computers_and_Internet






しょうもない答えですね。
でも、初めてこれを見た時は「えーー?」とか思っちゃいました。


もちろんこの手法では、検索する文字列に?が含まれている時は、エスケープが必要になります。





見に来てくれた人には悪いけど、本日は以上。

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

2004年07月11日

誰でも知ってるvimエディタネタ#4 「英字の型を変換する、カーソル下の数値を増して減らす」

vimエディタの、「complex repeats」機能の説明 第2回目。


。。。の予定だったが、こちらを先にやった方が都合が良いので、こちらを先にやる。


英字の大文字への変換


vimエディタのVisual modeで、ある範囲を選択して、
大文字変換 選択


U (英大文字のUです。)

と入力すると、
大文字変換 変換後
選択した範囲の英字が、大文字に変わる。

英字の小文字への変換


同じく、Visual modeで、ある範囲を選択、
小文字変換 選択


u (英小文字のuです。)

と入力すると、
小文字変換 変換後

選択した範囲の英字が、小文字に変わる。

英字の大文字、小文字への相互変換 その1


更に同じく、Visual modeで、範囲を選択後、
英字型変換 選択


~

と入力すると、
英字型変換 変換後
選択していた範囲の
英字の大文字が小文字に、
英字の小文字が大文字に、
それぞれ変換されます。


英字の大文字、小文字への相互変換 その2


今度はノーマルモードで、ある英字の上にカーソルを置く。
英字型変換 カーソル下

次に、

~

と入力すると、
英字型変換 カーソル下変換後

カーソル下の英字が、
大文字なら小文字に、
小文字なら大文字に、
変換されます。

カーソル下の数字を増加させる。


ノーマルモードで、数字の上にカーソルを置きます。
数字アップ変換 カーソル選択

ここで、

Ctrl-a

と入力すると、カーソル下の数値が 1 増えます。
数字アップ変換 変換後


カーソル下の数字を減らす。


で、同じようにノーマルモードで、数字の上にカーソルを置き、
数字ダウン変換 カーソル選択


Ctrl-x

と入力すると、カーソル下の数値が 1 減ります。

数字ダウン変換 変換後



今回説明した vimエディタの機能には、ちょっとした共通項があることにお気づきですか?


今回説明した機能を使うと、指定の文字を、事前に何らかの情報を与えなくても、それまでの文字を、別の文字に変換することができます。


この特徴は「complex repeats」を使う時に、とても役に立ってくれます。



今日はこれくらいで。

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

2004年06月28日

誰でも知ってるvimエディタネタ#2 AutoDate、Scratch、CdCurrent、テキストオブジェクト「i"」「a"」「i'」「a'」「c`」「i`」

いつものように時間が無いのでぱっぱっぱと。
今回の対象はKaoriya版 vim の機能。


AutoDate


編集しているファイルの先頭の方に

Last Change: .

と書いておくと、ファイルの修正保存時に

Last Change: 28-Jun-2004.

ってなふうに、修正日時が書き込まれる。


この機能は、

:AutoDateON

で有効に、

:AutoDateOFF

で無効になるので、設定ファイルに設定を書き込んでおけば良い。


このスクリプトは、いつかもっと詳しくやることにしよう。


Scratch



:Scratch

と入力すると、新規の空のバッファが開かれる。
一時的に作業スペースが欲しい時などに使用しよう。


CdCurrent



:CdCurrent

と入力すると、現在、編集しているファイルのディレクトリにカレントディレクトリを変更する。


そのファイルのあるディレクトリの他のファイルを編集したい時などに使うと、ファイル名補完ができて便利。


テキストオブジェクト i"、a"、i'、a'、c`、i`


これは結構最近付け足された機能。


ハロー "ワール"ド

例えば、こういうテキストがあったとして、「ル」の字の上で、


di"

と、ノーマルモードで入力すると、


ハロー ""ド

テキストがこの様に、消去される。
つまり、
「i"」 =(イコール) 「"」で囲まれた範囲
というように扱うことができる。


で、同じことが、「'」、「`」に対してもできる。


先ほどの処理を、

da"

で行った場合は、

ハロー ド

という結果になる。


「a"」 =(イコール) 「"」も含めて「"」で囲まれた範囲
というようになる。


組み合わせは、ざっとこんな感じかな?


ci" ca" di" da" xi" xa" vi" va"
ci' ca' di' da' xi' xa' vi' va'
ci` ca` di` da` xi` xa` vi` va`





今日はこれぐらいで。

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

2004年06月25日

誰でも知ってるvimエディタネタ 「%」と「%<」と「#N」と「#N<」を使いましょう。(Nは数字の意)

今日も例によって時間は無い。
なので、誰でも知ってるvimエディタネタを振って
簡単に終わらせることにする。



%


% は、今開いているバッファの名前になる。

現在のバッファが「hoge.txt」の時、

:w %.tmp

は、

:w hoge.txt.tmp

と同じように動作する。

%<


%< は、今開いているバッファの名前から、拡張子を除いたものになる。

現在のバッファが「hoge.txt」の時、

:w %<

は、

:w hoge

と同じように動作する。


#N


バッファを複数開くと、それぞれのバッファは違う番号を持っていることがわかる。
(下は、minibufexpl.vimのプラグインを使用した所。)
minibufexpl.png

#N は、そのN番目のバッファの名前と同じ値になる。
(Nは任意の数字)

「hoge.txt」が、「8」というバッファの番号を持っている時、

:e #8

は、

:e hoge.txt

と同じように動作する。


#N<


もう予想がつくとは思いますが、

#N は、そのN番目のバッファの名前から拡張子を除いたものと同じ値になる。
(Nは任意の数字)

「hoge.txt」が、「8」というバッファの番号を持っている時、

:e #8<

は、

:e hoge

と同じように動作する。




知らなかったなら、有効に活用して欲しい。
では、本日は以上。


おまけの応用


Javaで、ソースを編集中に、そのファイルをコンパイル、
即実行する。

:! javac % && java %<

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

2004年06月08日

Windows、Mac OSXで、同一のvim設定ファイルを共有、使いまわすには

私は主にWindows、Mac OSXでvimを使っているんだけど、
それぞれの環境ごとに設定ファイルを用意するのって
面倒でしょう。


マシンはすぐに他のマシンになっちゃうし(これは仕事)、OSの再インストールだってしばしばやるよね(公私共)。


だから、同一のvim設定ファイルを、複数の環境で使いまわそう、というのが今回の話題です。



手法1. $HOME、$VIM、$VIMRUNTIME 変数を使う。


vimスクリプトの設定は、
大抵これらの変数だけで何とかなることが多い。


例としては、この様に使用する。

" matchit.vim
:source $VIMRUNTIME/macros/matchit.vim


$VIM にはvimのインストールディレクトリ、
$VIMRUNTIME にはvimのruntimeディレクトリの場所が
値として入れられている。


それぞれの変数の正確な値は、vimを起動して、
下のように入力すればわかる。

:echo $VIM
:echo $VIMRUNTIME


$HOME 変数の値には、ホームディレクトリの場所が入れられている。


Windowsユーザーがこの変数を利用する場合には、
HOME環境変数を設定する必要がある。
簡単に言うと作業領域(?)のような場所のことだけど、
vimを使うのなら設定しておいたほうが良い。

[windows vim] HOME環境変数設定
システムのプロパティ→詳細設定→環境変数といけば、設定する所が見つかるよ。


手法2. 環境変数を使う。


backupdirの設定とか、環境によって大きく違う時に使う。


Windowsは、C:\WINDOWS\Temp を、
Mac OSXは、/tmp を割り当てたい時とか。


vimでは、例えば、環境変数に FOGE=XXX とセットしておくと、
その値は $FOGE 変数として読み取ることができる。


それを利用して、
下のように設定してしまうわけだな。

" ctags
set tags=$FOGE/tags



手法3. if節使って分ける。


上の2つでは駄目だった場合の最終手段。

if has('win32')
" Windows用の設定
"
elseif has('mac')
" Mac OSX用の設定
"
endif


この方法を使うと、2重で書かなきゃいけなくなるので、
設定ファイルがとても汚くなる。

しかしながら、確実な方法だ。




とりあえず、設定ファイル共有の手法の例を3つ挙げた。
是非とも有効に活用して、幸せになってもらいたい。


今回は以上。
ではでは。

posted by 小見 拓 at 02:42| 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年以上新しい記事の投稿がないブログに表示されております。