使用 Packer 配置 Neovim 插件的详细指南

4 篇文章 0 订阅
2 篇文章 0 订阅

使用 Packer 配置 Neovim 插件的详细指南

`

前言

将前面的配置做了 提升 前面的配置C++,cin输入不了 ,这篇文章将一步步指导你在 Ubuntu 24.04 系统上使用 Packer 来配置 Neovim 插件,即使你是一个电脑小白也能轻松跟随。

安装 Neovim

首先,确保你的系统上安装了 Neovim。可以使用以下命令进行安装:

sudo apt update
sudo apt install neovim

安装 Packer

接下来,我们需要安装 Packer,这是一个 Neovim 的插件管理器。使用以下命令来安装:

git clone --depth 1 https://github.com/wbthomason/packer.nvim\
 ~/.local/share/nvim/site/pack/packer/start/packer.nvim

创建 Neovim 配置文件

如果你还没有 Neovim 配置文件夹,创建它:

mkdir -p ~/.config/nvim

然后,在 ~/.config/nvim 目录下创建一个名为 init.lua 的文件:

touch ~/.config/nvim/init.lua

配置 Packer 和插件

打开 init.lua 文件并添加以下配置:

-- Packer 自身
require('packer').startup(function(use)
    use 'wbthomason/packer.nvim'

    -- LSP 相关插件
    use 'neovim/nvim-lspconfig'
    use {
        'hrsh7th/nvim-cmp',
        requires = {
            {'hrsh7th/cmp-nvim-lsp'},
            {'hrsh7th/cmp-buffer'},
            {'hrsh7th/cmp-path'},
            {'hrsh7th/cmp-cmdline'},
        }
    }
    use 'saadparwaiz1/cmp_luasnip' -- nvim-cmp 和 luasnip 的适配

    -- 代码外观增强
    use 'kyazdani42/nvim-web-devicons'
    use 'glepnir/galaxyline.nvim'

    -- impatient.nvim 插件
    use 'lewis6991/impatient.nvim'
end)

-- 加载 impatient.nvim
pcall(require, 'impatient')

-- 基础配置
vim.cmd('syntax enable') -- 启用语法高亮
vim.cmd('filetype plugin indent on') -- 启用文件类型检测和缩进

-- 快捷键映射:实现分屏和运行
vim.api.nvim_set_keymap('n', '<F5>', '<Cmd>!g++ % -o %< <CR><Cmd>vsplit<CR><Cmd>term ./%< <CR>', { noremap = true, silent = true }) -- 编译并在新终端中运行 C++ 文件
vim.api.nvim_set_keymap('n', '<F6>', '<Cmd>split<CR><Cmd>term python3 % <CR>', { noremap = true, silent = true }) -- 在水平分割窗口中运行 Python 文件

-- LSP 配置
local lspconfig = require('lspconfig')

-- C++ LSP 配置
lspconfig.clangd.setup{}

-- Python LSP 配置
require('lspconfig').pyright.setup{}

-- nvim-cmp 设置
local cmp = require'cmp'
cmp.setup {
    snippet = {
        expand = function(args)
            require('luasnip').lsp_expand(args.body)
        end,
    },
    mapping = {
        ['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
        ['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }),
        ['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
        ['<C-e>'] = cmp.mapping({
            i = cmp.mapping.abort(),
            c = cmp.mapping.close(),
        }),
        ['<CR>'] = cmp.mapping.confirm({ select = true }),
    },
    sources = cmp.config.sources({
        { name = 'nvim_lsp' },
        { name = 'luasnip' },
    }, {
        { name = 'buffer' },
    })
}

-- 代码外观设置
vim.cmd('colorscheme gruvbox') -- 设置颜色主题

-- 自动保存文件
vim.api.nvim_exec([[
augroup autosave
    autocmd!
    autocmd BufLeave * silent! wall
augroup END
]], false)

-- 自动清除行尾空格
vim.api.nvim_exec([[
augroup trim_whitespace
    autocmd!
    autocmd BufWritePre * %s/\s+$//e
augroup END
]], false)

-- Markdown 实时预览
vim.api.nvim_exec([[
augroup md_preview
    autocmd!
    autocmd BufEnter *.md :MarkdownPreview
augroup END
]], false)

运行 Packer 以安装插件

在 Neovim 中,运行以下命令以安装配置中的所有插件:

:PackerInstall

这将自动下载并安装所有配置的插件。安装完成后,重新启动 Neovim。

使用和测试

现在,你已经成功配置了 Neovim 和所需的插件。你可以使用以下快捷键来测试配置:

  • F5 编译并运行当前的 C++ 文件。
  • F6 在水平分割窗口中运行当前的 Python 文件。

总结

通过以上步骤,你应该已经成功在 Ubuntu 24.04 系统上配置了 Neovim 并安装了各种插件。希望这篇指南对你有所帮助,如果有任何问题或需要进一步的帮助,请随时提问。 感觉有用的 点一 点 收藏,关注。

  • 23
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Packer 配置文件中,您可以使用以下 AWS 相关变量来设置可切换角色: 1. `AWS_ACCESS_KEY` 和 `AWS_SECRET_KEY`:使用这些变量设置基本的 AWS 访问密钥和访问密钥 ID。 2. `AWS_SESSION_TOKEN`:使用此变量指定 AWS 会话令牌,该令牌是使用 AWS STS 服务获取的临时安全凭证。 3. `AWS_ASSUME_ROLE_ARN`:使用此变量指定要扮演的角色的 Amazon 资源名称 (ARN) 。 4. `AWS_ASSUME_ROLE_EXTERNAL_ID`:使用此变量指定扮演角色时要使用的外部 ID。 5. `AWS_ASSUME_ROLE_DURATION_SECONDS`:使用此变量指定扮演角色后的持续时间,以秒为单位。 以下是一个示例 Packer 配置文件中的 AWS 可切换角色设置: ``` "variables": { "aws_access_key": "{{env `AWS_ACCESS_KEY`}}", "aws_secret_key": "{{env `AWS_SECRET_KEY`}}", "aws_session_token": "{{env `AWS_SESSION_TOKEN`}}", "aws_assume_role_arn": "{{env `AWS_ASSUME_ROLE_ARN`}}", "aws_assume_role_external_id": "{{env `AWS_ASSUME_ROLE_EXTERNAL_ID`}}", "aws_assume_role_duration_seconds": "{{env `AWS_ASSUME_ROLE_DURATION_SECONDS`}}" }, "builders": [ { "type": "amazon-ebs", "access_key": "{{user `aws_access_key`}}", "secret_key": "{{user `aws_secret_key`}}", "region": "us-east-1", "source_ami": "ami-0c55b159cbfafe1f0", "instance_type": "t2.micro", "ssh_username": "ubuntu", "ami_name": "my-ami-{{timestamp}}", "assume_role": { "role_arn": "{{user `aws_assume_role_arn`}}", "external_id": "{{user `aws_assume_role_external_id`}}", "duration_seconds": "{{user `aws_assume_role_duration_seconds`}}" } } ] ``` 请注意,以上示例仅显示了部分 Packer 配置文件。您需要根据您的实际需求自定义配置文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值