概要
neovimでnvim-treeを使用しています。nvim hoge.txt
をした際に、開いたファイル先のディレクトリツリーを表示してほしかったのでその設定方法をまとめます。
例えばカレントディレクトリが~/path/to/current
だったとして、nvim ~/config/nvim/init.lua
を開いた場合、currentをディレクトリツリーに表示するのではなく、nvimの方を表示することができます。
やったこと
file-explorer.lua
の設定
nvim-treeの設定ファイルを作成し、以下の項目を書きます。
file-explorer.lua
vim.g.nvim_tree_respect_buf_cwd = 1
require("nvim-tree").setup
{
update_focused_file = {
enable = true,
update_cwd = true,
},
}
なお、一度nvim-treeを開いただけだとカレントディレクトリが開くので、再度開きなおすかコードに移動してもう一度nvim-treeに移動すると、nvim-treeがRefreshされて正しく表示されます。
(補足)私は以下のようにfile-explorer.lua
を設定しています。
file-explorer.lua
-- disable netrw at the very start of your init.lua (strongly advised)
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
-- set termguicolors to enable highlight groups
vim.opt.termguicolors = true
-- showing the tree of my current buffer from where i open up nvim-tree
vim.g.nvim_tree_respect_buf_cwd = 1
require("nvim-tree").setup
{
sort_by = 'extension',
update_focused_file = {
enable = true,
update_cwd = true,
},
view = {
width = '20%',
side = 'right',
signcolumn = 'no',
},
renderer = {
highlight_git = true,
highlight_opened_files = 'name',
icons = {
glyphs = {
git = {
unstaged = '!', renamed = '»',
untracked = '?', deleted = '✘',
staged = '✓', unmerged = '', ignored = '◌',
},
},
},
},
git = {
enable = true,
ignore = false,
},
actions = {
expand_all = {
max_folder_discovery = 100,
exclude = { '.git', 'target', 'build' },
},
},
on_attach = 'default'
}
参考