Skip to content

2023/11

VSCode Neovim で ESC を押した時に自動的に半角入力へ戻す

先日、macOS で VSCode Neovim をインストールする というメモを書きました。 macOS 上でテキストの編集作業を行っている際、「Insert Mode → 日本語入力 → Esc」を押すと (当たり前ですが) 全角のままになっており、vim のコマンドを入力したつもりが上手く処理されない… ということがあります。 この問題を解決する為に macOS の Karabiner-Elements に「Esc を押した時に英数キーも送信する」というルールを追加しました。 この追加手順をメモしておきます 。

Mojo をインストールする

高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性 で言及されていますが、Mojo という新言語がリリースされたそうです。 記事では Mojo について以下のように記載されています。

MojoはAI処理を高速に実行するための言語だと説明されています。Pythonとの互換性によって既存のTensorFlowやPyTorchなどをそのまま利用可能で、PythonよりもTensorFlowで最大3倍、PyTorchで最大25倍などの高速な処理を実現することで、AI処理の開発や実行のコスト削減などを実現するとしました。

さらにPythonのようなモダンなプログラミング言語の構文を用意しつつ、スタティックなメタプログラミングの能力も持ち、Rustのようなオーナーシップとライフタイムの仕組みを、より分かりやすく提供するとしました。

開発元のModular社は、コンパイラ基盤として広く使われているLLVM、Swift言語、GoogleがAI処理のために設計したCloud TPUなどの開発に関わってきたChris Lattner氏が共同創業者兼CEOを務めています。

今回は Ubuntu 22.04LTS に Mojo をインストールします。 尚、後述しますが現時点では Ubuntu22.04 へ Mojo をインストールすることは出来ませんでした。

Python で文字列結合を f 文字列で実装する

Python で文字列を結合したり、フォーマットを指定するには str.format(args, *kwargs) を使う方法があります。 Python 3.6 からは フォーマット済み文字列リテラル、俗に言う「f 文字列」がサポートされ、より簡単に定義出来るようになりました。

以下は「文字列を結合して表示する」という目的を異なる方法で実装した例です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
a = "apple"
b = "banana"

# format() を使った書き方
print("{} and {}".format(a, b))

# 文字列結合を使った書き方
print(a + " and " + b)

# f 文字列を使った書き方
print(f"{a} and {b}")

MkDocs をインストールする

静的サイトジェネレーターである MkDocs に関して、日本語の情報源としては Mebiusbox さんがお書きになっている MkDocsによるドキュメント作成 が最強なのでは無いかと思います。 余談ですが 「動かして学ぶ!Rust入門」の執筆 によると Mebiusbox さんは さんは 動かして学ぶ!Rust入門 の著者でもあるそうです (すごい)。

以前に HBFM (Markdown 拡張) を追加した MkDocs の Docker イメージ というメモを書きました。 このは ハートビーツ さんが作成されたプラグインを取り込んだ MkDocs の Docker イメージを利用する前提になっています。 今回は Docker コンテナは利用せず、ローカルに MkDocs をインストールする手順をメモしておきます。