見出し画像

MBA M3 にneovimをインストールする

とうとう、念願のMacbook Air M3を購入しました。
今まで使ってたMBAは10年選手でOSのバージョンアップガイとなってた奴なんです。Core i7 / 8GBなんで今でも普通に使えますが。。
今回M3を購入に踏み切ったのはneovimを使ってみたかったからなんです。
copilotも使えるとの事で、興味津々です。

インストールします。

MacなんでHomebrewからインストールします。
% brew update
% brew install neovim
% nvim --version
NVIM v0.9.5
システム vimrc: "$VIM/sysinit.vim" 省略時の $VIM: "/opt/homebrew/Cellar/neovim/0.9.5/share/nvim"

初期設定をします。

ここで設定ファイルとして2種類あります。
~/.config/nvim/init.lua
~/.config/nvim/init.vim
ChatGPTに使い方のお伺いを立ててみました。
・init.vim
これはVimスクリプト言語で書かれた従来の設定ファイルです。NeovimはVimとの互換性を保持しているため、既存のVim設定をそのまま利用したい場合や、Luaに不慣れな場合にはinit.vimを使うのが良いでしょう。
・init.lua
Neovim 0.5以降でサポートされている、Lua言語で書かれた設定ファイルです。Luaは実行速度が速く、プログラムが簡潔になるため、Neovimの機能を最大限に活用しようとするユーザーや、複雑なカスタマイズを行いたい場合に適しています。
ということだそうです。
で、どっちにしたらいい?って聞いたら。。
・Luaに慣れている、または学びたい場合
init.luaを選択してください。Luaで書かれた設定ファイルは、より高度なカスタマイズと効率的な設定が可能です。
・Vimスクリプトに慣れている、または既存の設定を引き継ぎたい場合
init.vimを選択してください。
とのご指摘が。。
今回は、Luaを使うことにしました。

init.luaに何を設定するか?

.vimrcを見てて最低限やりたいこととすると
・UTF-8での読み書きをしたい
・タブは4スペースにしたい
・バックアップを取りたい
こんなところですね。
・UTF-8の設定
vim.scriptencoding = 'utf-8'
vim.opt.encoding = 'utf-8'
vim.opt.fileencoding = 'utf-8'
・タブの設定
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
expandtabとsofttabstopで空白で管理もできるけど、今回は無しとする。
・バックアップをする
vim.opt.backup = true -- バックアップ機能を有効にする
vim.opt.backupdir = "~/tmp" -- バックアップ先のディレクトリ
vim.opt.writebackup = true -- 書き込み時に一時的なバックアップを作成する
vim.opt.backupext = ".bak" -- バックアップファイルの拡張子を.bakに設定
vim.opt.backupskip = "/tmp/,/private/tmp/"-- 特定のパスをバックアップから除外する
・現在の行をハイライトする
vim.opt.cursorline = true
・新しい行を現在の行と同じインデントで開始
vim.opt.autoindent = true
・モード(ノーマルモード、挿入モード等)を下部に表示
vim.opt.showmode = true

こんなところで始めてみます(^^)

【追記】

[2024/04/20]バックアップの設定について

バックアップ先の設定で、
vim.opt.backupdir = "~/tmp"
としていましたが"~"が文字列と見られるようでホームディレクトリに移動はしてくれませんでした。
→"~"なんてディレクトリが作成されました(^^;
例によってChatGPTにお伺いを立てたところ
-- init.lua
local home = os.getenv("HOME")
vim.opt.backup = true -- バックアップ機能を有効にする
vim.opt.backupdir = home .. "/tmp//" -- バックアップディレクトリを設定
vim.opt.backupext = ".bak" -- バックアップファイルの拡張子を設定
のようにしろとの御託宣が。。
そういやどっかで見たなぁ。。

ただね、該当ファイルが、フルパスで、しかも/部分がエスケープ・シーケンスされて保存されちゃうんですよね。
vimのときに比べてわかりやすいというか、醜いというか。。

この記事が気に入ったらサポートをしてみませんか?