You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This environment depends on various plugins, including a plugin manager.
Simply clone this repository into $HOME/.config/ after neovim is built.
All files in this repository cannot be used with vim.
To fully use tools in this repository, install lazygit for lazygit, ripgrep for telescope, tree-sitter-cli for treesitter, macism (only on macOS) for better InsertLeave experience, latexmk for vimtex, a suitable PDF viewer depending on your OS for vimtex, and dictionary and deno for skkeleton.
This Neovim setup focuses on manual editing efficiency.
It may not suit those who rely on completion or automation, as these features are intentionally disabled.
Key bindings are written in nvim/lua/config/keymap.lua.
Both <leader> and <localleader> are set as <space>.
They can be reset in init.lua by yourself.
Normal Mode
Key
Action
Description
gh
^
move to first non-blank character in the line
gl
$
move to the end of line
gk
gg
move to the first line
gj
G
move to the last line
<S-h>
10h
move left 10 columns
<S-l>
10l
move right 10 columns
<S-k>
10k
move up 10 lines
<S-j>
10j
move down 10 lines
<leader>b
%
move to bracket
x
"_x
delete a character without yanking
s
"_s
delete a character and enter insert mode without yanking
;
:
enter command mode
<leader>q
q:
command-line window
q:
<Nop>
(this command was removed)
<leader>n
:set relativenumber!<CR>
switch linenumber <-> relativenumber
<Tab>
:tabnext<CR>
move to the next tab (This command is overridden in barbar.nvim's setting)
<S-Tab>
:tabprevious<CR>
move to the previous tab (This command is overridden in barbar.nvim's setting)
<C-h>
<C-w>h
move to the left window
<C-l>
<C-w>l
move to the right window
<C-k>
<C-w>k
move to the upper window
<C-j>
<C-w>j
move to the lower window
<leader>wt
:tabnew
open a new tab
<leader>wv
:vsplit
open a file in a new vertical split
<leader>wh
:split
open a file in a new horizontal split
<leader><BS>
:close<CR>
close the current file
<right>
<Nop>
(this command was removed)
<left>
<Nop>
(this command was removed)
<down>
<Nop>
(this command was removed)
<up>
<Nop>
(this command was removed)
<S-right>
<C-w><
decrease window width
<S-left>
<C-w>>
increase window width
<S-down>
<C-w>-
decrease window height
<S-up>
<C-w>+
increase window height
Insert Mode
Key
Action
Description
kj/Kj/KJ
<Esc>
return to normal mode
<right>
<Nop>
(this command was removed)
<left>
<Nop>
(this command was removed)
<down>
<Nop>
(this command was removed)
<up>
<Nop>
(this command was removed)
Visual Mode
Key
Action
Description
<
<gv
decrease indent
>
>gv
increase indent
Commands
Command
Description
:rpl
replace all highlighted matches with a new word
Abbreviations
Abbreviation
File Type
Inserted Text
;;r
fortran
real
;;i
fortran
integer
;;l
fortran
logical
;;c
fortran
character
Plugins
In this toolkit, lazy.nvim is used as the package manager.
It will automatically install all plugins listed below.
Plugin list can be displayed with command :Lazy.
In this document, descriptions of key bindings that are the same as the plugin defaults are omitted.
This repository comes with the following Language Server Protocol (LSP) servers installed: ltex, texlab, fortls, pylsp, and lua_ls.
They will provide highlighting, virtual text annotations, and signs in the statuscolumn for syntax errors.
Hovers, auto-completion, and code-action are intentionally disabled to avoid disrupting focus.
If certain English words are incorrectly flagged as spelling mistakes by ltex, add them to $HOME/.config/ltex/dictionary.en-US.txt.
To edit latex source code using vimtex, install Skim on macOS, SumatraPDF on Windows, and Zathura on Linux.
Also, latexmk is needed to compile source codes.
Key
Description
<localleader>ll
compile source. if .latexmkrc is not in the same directory as the main file, it will be generated automatically
<localleader>le
open/close error window
The automatically generated .latexmkrc is a copy of tools/.latexmkrc.
To change the compile method, edit the original tools/.latexmkrc.
NOTE
VimTex's settings have not been tested on Windows and Linux.
Available only when the file type is tex, markdown, txt, or html.
Install deno via any package manager and clone dictionary in $HOME/.config/.
Execute a command below to save a user dictionary: