この記事では、Vim / neovimでプラグインを使わずに「カーソルがファイルのどの位置にあるか知る」ためのキーバインドおよびコマンドについて、ご紹介します。
[解答] Ctrl + g / :file / g Ctrl + g
Vimキーバインド1. 現在の行位置を割合で表示する
(ノーマルモード)
Ctrl + g
次のように、現在の行位置を割合で表示することができます。
Vimキーバインド2. 現在位置を詳細に表示する
(ノーマルモード) g Ctrl + g
こちらはカ ーソルの位置を、列、行、単語、文字、バイトを表示します。
これらの処理は、コマンドでも実現することができます。
Vimコマンド. 現在の行位置を割合で表示する
(ノーマルモードで下記のいずれかのコマンドを入力する) :f :fi :file
Vimコマンド2. 現在位置を詳細に表示する
こちらは存在しないようです。ヘルプを見て試す限り、:word-count や :byte-count というコマンドは無いようです。
このVimコマンドの補足情報
- 利用頻度
- 便利さ
- 覚え易さ
関連するVimヘルプ
Vimのヘルプでは、下記のように掲載されています。
CTRL-G または :f[ile] CTRL-G :f :fi :file
editing – Vim日本語ドキュメント
カレントファイル名 (これは “:cd” が使われたとき以外は
打ち込まれた通り {訳注: 普通、カレントディレクトリの
ファイルを編集するときはパスを省いて打ち込むと思うが、
そうするとパスなしのファイル名になる})、カーソル位置
(これはオプション ‘ruler’ がオフのとき) とファイルの状
態 (読込専用、変更あり、読込エラー、新規ファイル) を表
示する。このメッセージを短くする方法については、オプショ
ン ‘shortmess’ を参照。
(略)
g_CTRL-G word-count byte-count
g CTRL-G カーソルの現在の位置を、列、行、単語、文字、バイト、の
5種類の単位で表示する。文字数とバイト数が同じのときは
文字位置が省略される。
行の中に画面上で1文字分以上の幅を占める文字 (<Tab> ま
たは特殊文字) があるときは、「実際」の列番号と画面上の
列番号の両方が、ダッシュで区切られて表示される {訳注:
例えば、タブ幅 ‘tabstop’ が8のとき、行頭の <Tab> の次
では「実際」の列番号は2、画面上の列番号は9となり、
“1-8” と表示される}。
オプション ‘ruler’ と wordcount() 関数も参照。
この内容は、下記のコマンドでも確認できます。
:help CTRL-G :help :f :help :fi :help :file :help g_CTRL-G :help word-count :help byte-count
ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。
参考書籍
こちらの書籍が参考になります。
Vim/neovim関連の書籍で、もっとも評判が良くてバイブルと呼んでる人もいる一冊です。Vim/neovimのバージョンに依存しない沢山のTips形式で、その表題通りに「思考のスピードで編集」できるようになるノウハウが詰まっています。その高い評価は Amazon のレビューからも分かる通りです。Vimmer なら必ず一度は読んでおいて間違いありません。
こちらもVim関連の書籍で評価が高い書籍の一冊です。vim-jpで見かける上級Vimmer(Vimサポーターズ)の皆様による、Vimを実践で使ったノウハウからプラグイン関連の情報が詰まっています。日本の Vim界隈を知る上でも是非一読しておきたい一冊です。
Vim/neovim の設定ファイルやプラグインなど、Vim script に関するノウハウがいくつも詰まった一冊です。日本で Vim Script をここまで深く解説している唯一の書籍と言えます。Vim力を伸ばしたいと考えるなら、絶対に避けては通れない書籍でしょう。