LoginSignup
6
1

More than 5 years have passed since last update.

Vim 8.0 Advent Calendar 9 日目 2 進数のサポート

Posted at

この記事は Vim 8.0 Advent Calendar の 9 日目の記事です。

Vim 8.0 では 2 進数のサポートが強化されています。

2 進数の数値リテラル

0b もしくは 0B で始まる 2 進数リテラルが追加されました。

echo 0b1010 == 10
" => 1

<C-a> <C-x> の 2 進数サポート

'nrformats' オプションに指定できる値に bin が追加されました。
これはデフォルトで含まれているため、特に設定せずに利用可能です。
0b0B で始まる 2 進数の数値の上で <C-a><C-x> を実行すると、数値を増減できます。

0b1000
↓<C-x>
0b0111

printf() の 2 進数サポート

printf() 関数のフォーマットに %b が追加されました。
これを使うことで、数値を 2 進数の文字列に変換できます。

echo printf('0b%b', 10)
" => 0b1010

もちろんフラグにも対応しています。8 桁の 0 埋めパディングをするには以下のようにします。

echo printf('0b%08b', 10)
" => 0b00001010
6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1