最近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