Vimスクリプト(col)(その3)

続きです。

col(“‘x”)を使ってみます。
colのヘルプにはこうあります。

    'x      position of mark x (if the mark is not set, 0 is
            returned)

ではいつものように、Vimを起動して、適当なテキストを作成。

/tmp $ vim
:0r!seq 100 | pr -t10

マークがない状態で、col(“‘x”)を使ってみます。

:echo col("'x")

0が返ってきました。

マークを設定します。カーソルはそのままに、mx(カーソル位置をxレジスタに記憶)と入力。
そうしたら、カーソルを他へ移動してみましょう。

4行目の数字の塊の4列目と5列目の間にいますね。
ここで、col(“‘x”)

:echo col("'x")


1が返りました。先ほどxにマークしたカーソルのカラムは1列目なので、合ってそうですが、他の位置でも確認してみます。
加えて、colで指定するマークxは、xじゃないとダメってわけではなく、何かのレジスタって意味なので、他のレジスタでも確認してみます。
では現在のカラム位置を確認。

:echo col(".")

現在カーソル位置を、yにマークします。my入力。次にカーソルを他へ移動。先頭行の行頭にしました。
ではマークyのカラムを表示します。

:echo col("'y")


先ほどカーソルがあった位置のカラム、26が表示されました。