Vimスクリプト(col)

テキストエディタ(Vimやその他)

(親記事はコチラ Vimコマンド&Script入門)

前回と前々回でwincolを使いましたが、colという関数もあります。
これを使ってもカーソルのカラム位置を取得することができます。
ヘルプです。

                                                        *col()*
col({expr})     The result is a Number, which is the byte index of the column
                position given with {expr}.  The accepted positions are:
                    .       the cursor position
                    $       the end of the cursor line (the result is the
                            number of bytes in the cursor line plus one)
                    'x      position of mark x (if the mark is not set, 0 is
                            returned)
                    v       In Visual mode: the start of the Visual area (the
                            cursor is the end).  When not in Visual mode
                            returns the cursor position.  Differs from |'<| in
                            that it's updated right away.

カーソル位置を取得するには、”.”を指定すれば良いですね。

使ってみましょう。 引数を指定せずにVim起動。

/tmp $ vim

適当に文字列を作ります。

:0r!seq 10 | pr -t10

そのままのカーソル位置で、col実行。

:echo col(".")


1ですね。

wを5回押して6の位置にカーソルを移動して、col実行。

:echo col(".")


カーソル位置が返ってきました。

コメント

タイトルとURLをコピーしました