启动vim时自动加载网络

olhwl3o2  于 2023-04-21  发布在  其他
关注(0)|答案(3)|浏览(140)

我想让netrw在我使用终端启动vim时自动加载。对linux/ubuntu来说是全新的。有什么方法可以做到吗?

a8jjtwal

a8jjtwal1#

将以下内容添加到.vimrc(Vim的配置文件,位于您的主目录的根目录中)将使Vim在启动后自动加载Netrw。

" Open Netrw after Vim starts up
augroup InitNetrw
  autocmd!
  autocmd VimEnter * :silent! Explore
augroup END

上述方法的一个问题是,当你使用Vim打开一个特定的文件时,Netrw也会加载。一个解决方案是使用以下修改,基于Netrw文档中建议的方法(:help netrw-activate)。

" Checks if there is a file open after Vim starts up,
" and if not, open the current working directory in Netrw.
augroup InitNetrw
  autocmd!
  autocmd VimEnter * if expand("%") == "" | edit . | endif
augroup END

以下页面提供了有关自动命令和.vimrc配置文件的更多详细信息。

mbzjlibv

mbzjlibv2#

在你的vimrc中有以下代码块:

set autochdir
let g:netrw_browse_split=4
augroup InitNetrw
    autocmd!
    autocmd VimEnter * if argc() == 0 | Lexplore! | endif
augroupend

有点像@dannyadam建议的那样。但是打开netrw窗格作为右侧的侧栏。如果你想正确使用Lexplore而不使用bang(!)。

t5fffqht

t5fffqht3#

Nvim支持netrwPlugin

最初的问题与vim有关,但我正在为同一请求搜索实现现代Nvim API的相同问题。

以下是我遵循的步骤

1.确保你已经加载了netrwPlugin(我认为一些包管理器默认情况下,在启动时删除这个插件)。在我的例子中,我使用了lazy-nvim,我在配置中:disabled_plugins = {"gzip", "matchit", "matchparen", "netrwPlugin","tarPlugin","tohtml", "tutor", "zipPlugin"}
1.使用nvim_create_autocmd

-- Moder Lua auto-command for launching netrwPlugin which shipped with the nvim
local mygroup = vim.api.nvim_create_augroup("loading_netrwPlugin", {clear = true})
vim.api.nvim_create_autocmd({"VimEnter"}, {
  pattern = {"*"},
  command  = ":silent! Explore",
  group = mygroup
})

1.把它放到你的init.lua文件中。
或者,简单地用途:

vim.cmd([[
augroup loading_netrwPlugin
autocmd!
autocmd VimEnter * :silent! Explore
augroup END
]])

在Lazy PluginManger中使用netrwPluing

当我输入nvim时,它应该启动netrwPlugin,如果我传递一个file_name,它应该自动打开文件名。我们必须添加更多的检查,因为即使加载了Lazy弹出菜单,netrwPlugin也会加载,这将产生冲突,我们可以防止这种情况,如下所示

local mygroup = vim.api.nvim_create_augroup("loading_netrwPlugin",
                                            {clear = true})
vim.api.nvim_create_autocmd({"VimEnter"}, {
    pattern = {"*"},
    callback = function()
        -- Getting the file name that you pass when you launch nvim,
        local current_file = vim.fn.expand("%")
        -- if we have already file_name, then, we edit it
        if current_file ~= "" then
            vim.cmd(":silent! edit " .. current_file)
        else
            -- We will check if the window (buffer) is the lazy nvim, as it conflict if the buffer (popup menu) is lazy
            local lazy_popup_buf_exists = false
            -- We will get list of all current opened buffers
            local buf_list = vim.api.nvim_list_bufs()
            for _, buf in ipairs(buf_list) do
                -- We will obtain from the table only the filetype
                local buf_ft = vim.api.nvim_buf_get_option(buf, 'filetype')
                if buf_ft == "lazy" then
                    lazy_popup_buf_exists = true
                end
            end -- Check if vim-floaterm is loaded
            local has_floaterm, _ = pcall(require, 'floaterm')
            if not lazy_popup_buf_exists and not has_floaterm then
                -- Then we can safely loading netrwPlugin at startup
                vim.cmd(":silent! Explore")
            end
        end
    end,
    group = mygroup
})
  • 这是有效的假设,没有安装启动 Jmeter 板插件(例如 Jmeter 板-nvim,alpha..等)

相关问题