最近NeoVimのキックスタートを使ってみたところ、意外と使いやすかったので、そのキックスタートの設定の内容のまとめ

↓nvim kickstart

https://github.com/nvim-lua/kickstart.nvim

続くかわからないけど、今回はオプション周りをまとめる

設定内容

<Leader>キーの設定

<Leader>キーの設定を半角スペースにする
デフォルトはバックスラッシュ(\

-- Set <space> as the leader key
-- See `:help mapleader`
--  NOTE: Must happen before plugins are loaded (otherwise wrong leader will be used)
vim.g.mapleader = ' '
vim.g.maplocalleader = ' '

Nerd Fontに対応しているか

Nerd Font対応していれば true にする

-- Set to true if you have a Nerd Font installed and selected in the terminal
vim.g.have_nerd_font = false

行番号の有効化

相対的な行番号も設定できるとのこと

-- Make line numbers default
vim.opt.number = true
-- You can also add relative line numbers, to help with jumping.
--  Experiment for yourself to see if you like it!
-- vim.opt.relativenumber = true

マウスモードを有効化

有効化するとマウスでのカーソル位置の移動ができる様になる

-- Enable mouse mode, can be useful for resizing splits for example!
vim.opt.mouse = 'a'

モードを表示するかの設定

すでにステータスラインに表示しているため表示しないとのこと

-- Don't show the mode, since it's already in the status line
vim.opt.showmode = false

クリックボードの同期

OSとのクリップボード同期を有効化するが、起動時間が長くなるためUiEnterの後に設定

-- Sync clipboard between OS and Neovim.
--  Schedule the setting after `UiEnter` because it can increase startup-time.
--  Remove this option if you want your OS clipboard to remain independent.
--  See `:help 'clipboard'`
vim.schedule(function()
  vim.opt.clipboard = 'unnamedplus'
end)

ブレークインデントの有効化

有効にすると改行時にインデントされた状態になる

-- Enable break indent
vim.opt.breakindent = true

Undoファイルの有効化

uコマンドのでのundoを記録する

-- Save undo history
vim.opt.undofile = true

検索時の大文字・小文字の無視設定

\Cか大文字が含まれていない限りは区別せずに検索する

-- Case-insensitive searching UNLESS \C or one or more capital letters in the search term
vim.opt.ignorecase = true
vim.opt.smartcase = true

サインカラムの有効化

サインカラムをデフォルトに設定する
サインカラムは、行番号の左に表示される記号の行のこと

-- Keep signcolumn on by default
vim.opt.signcolumn = 'yes'

スワップファイルの更新時間

この時間の間 (ミリ秒単位) 入力がなければ、スワップファイルがディスクに書き込まれる(参照:https://vim-jp.org/vimdoc-ja/options.html

-- Decrease update time
vim.opt.updatetime = 250

キーマッピングシーケンスの待ち時間

キーマッピングシーケンスの待ち時間を減らす
例)<Leader>wのマッピングの場合、<Leader>入力後の待ち時間を設定する
which-keyのポップアップ表示を早めるために0.3秒に設定

-- Decrease mapped sequence wait time
-- Displays which-key popup sooner
vim.opt.timeoutlen = 300

分割画面の方向設定

  • 横に分割する場合は、右に新しいウインドウを作成
  • 縦に分割する場合は、下に新しいウインドウを作成
-- Configure how new splits should be opened
vim.opt.splitright = true
vim.opt.splitbelow = true

リストモードの有効化

有効化した場合、listcharsにある文字が反映される

-- Sets how neovim will display certain whitespace characters in the editor.
--  See `:help 'list'`
--  and `:help 'listchars'`
vim.opt.list = true
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' }

コマンド結果のプレビュー

コマンドの結果を分割画面でプレビューできる
置換(:%s/)がわかりやすい

-- Preview substitutions live, as you type!
vim.opt.inccommand = 'split'

カーソル行の強調表示

カーソルの行がどこにあるかわかる様にする

-- Show which line your cursor is on
vim.opt.cursorline = true

カーソルの上下に表示する行数の設定

カーソルの上下に表示する画面行数の最小値を設定する

開始・終了行以外では、設定された行数より下にカーソルを移動するとスクロールする

-- Minimal number of screen lines to keep above and below the cursor.
vim.opt.scrolloff = 10

参考

https://vim-jp.org/vimdoc-ja/map.html
https://vim-jp.org/vimdoc-ja/options.html