首页 > 其他分享 >配置nvim

配置nvim

时间:2024-05-13 15:57:56浏览次数:19  
标签:opt -- 配置 vim lua true nvim

配置文件位置~/.config/nvim/init.lua,如果是Windows系统~/Appdata/Local/nvim/init.lua

├── init.lua
└── lua
    ├── map.lua
    ├── options.lua
    └── plugins.lua

init.lua只需要用require即可,剩下的都在lua目录下

# kun @ DESKTOP-CH7NVN2 in /c/Users/kun/AppData/Local/nvim [15:46:39]
$ cat init.lua
require('map')
require('options')
require('plugins')

安装lazy.nvim

用于管理插件,在lua目录下创建如下文件

# kun @ DESKTOP-CH7NVN2 in /c/Users/kun/AppData/Local/nvim/lua [15:44:46]
$ cat plugins.lua
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
    vim.fn.system({
        "git",
        "clone",
        "--filter=blob:none",
        "https://github.com/folke/lazy.nvim.git",
        "--branch=stable", -- latest stable release
        lazypath,
    })
end
vim.opt.rtp:prepend(lazypath)

require("lazy").setup({
    "Yggdroot/LeaderF"
})

在nvim界面输入:Lazy能看到下载完成就行了

Leaderf插件

实际上面已经在lazy中添加了,这里只讲一下Windows上安装过程
需要python3支持,msys2环境安装mingw-w64-x86_64-python-pynvim
因为msys2用的是msys2环境,而不是mingw64,所以这里导入mingw64的路径才能让leaderf找到python3
export PATH="/mingw64/bin":$PATH
需要为Leaderf安装ctags,pacman -S ctags
快捷键vim.keymap.set("n", "<C-p>", ":LeaderfFile<enter>", {noremap = true, silent = true})

快捷键配置

# kun @ DESKTOP-CH7NVN2 in /c/Users/kun/AppData/Local/nvim/lua [15:49:12]
$ cat map.lua
vim.g.mapleader = ","
vim.keymap.set("n", "<C-p>", ":LeaderfFile<enter>", {noremap = true, silent = true})
vim.keymap.set("n", "<leader>f", ":LeaderfFunction<enter>", {noremap = true, silent = true})
vim.keymap.set("n", "<leader>o", ":LeaderfBufTag<enter>", {noremap = true, silent = true})

vim自身配置

# kun @ DESKTOP-CH7NVN2 in /c/Users/kun/AppData/Local/nvim/lua [15:48:50]
$ cat options.lua
-- Hint: use `:h <option>` to figure out the meaning if needed
vim.opt.clipboard = 'unnamedplus' -- use system clipboard
vim.opt.completeopt = { 'menu', 'menuone', 'noselect' }
vim.opt.mouse = 'a' -- allow the mouse to be used in Nvim

-- Tab
vim.opt.tabstop = 4 -- number of visual spaces per TAB
vim.opt.softtabstop = 4 -- number of spacesin tab when editing
vim.opt.shiftwidth = 4 -- insert 4 spaces on a tab
vim.opt.expandtab = true -- tabs are spaces, mainly because of python

-- UI config
vim.opt.number = true -- show absolute number
vim.opt.relativenumber = false -- add numbers to each line on the left side
vim.opt.cursorline = false -- highlight cursor line underneath the cursor horizontally
vim.opt.splitbelow = true -- open new vertical split bottom
vim.opt.splitright = true -- open new horizontal splits right
-- vim.opt.termguicolors = true        -- enabl 24-bit RGB color in the TUI
vim.opt.showmode = false -- we are experienced, wo don't need the "-- INSERT --" mode hint

-- Searching
vim.opt.incsearch = true -- search as characters are entered
vim.opt.hlsearch = true -- do not highlight matches
vim.opt.ignorecase = true -- ignore case in searches by default
vim.opt.smartcase = true -- but make it case sensitive if an uppercase is entered

标签:opt,--,配置,vim,lua,true,nvim
From: https://www.cnblogs.com/feipeng8848/p/18189398

相关文章

  • inno Setup 打包Java exe可执行文件和MySQL数据库,无需额外配置实现一键傻瓜式安装
    前言出现有需要打包Java应用和Mysql数据库成一个安装包给出去的需求,这里我把整个打包的流程整理一下。环境JDK17;MySQL5.7;流程Jpackage打包EXEJpackage是JDK14后加入的一个用于独立打包的工具,能够将应用打包成exe,有了Jpackage就不需要用exe4j这种打包工具,省去打包的繁......
  • 配置cisco asa 5525k9防火墙的日志保存到服务器
    配置ciscoasa5525k9防火墙的日志信息日志信息可以输出到LogBuffer(日志缓冲区)、ASDM和日志服务器。1.配置Logbuffer: loggingenable #启用日志功能 loggingbufferedinformational  #Cisco日志等级一共分为8级,0级最高,7级最低 showlogging  #查看LogBuff......
  • 采用双dsPIC DSC内核配置,DSPIC33CH128MP208-E/PT DSPIC33CH128MP208-I/PT DSPIC33CH12
    dsPIC33CH系列数字信号控制器简介dsPIC33CH系列控制器采用单芯片、双dsPICDSC内核配置,将为设计高端嵌入式控制应用的系统开发人员带来福音。根据设计,dsPIC33CH的两个内核一个是主核,一个是副核。副核用于执行时间关键型专用控制代码,主核负责运行用户接口、系统监控和通信功能,专为......
  • openGauss 配置设置
    配置设置发布订阅要求设置一些配置选项。在发布者端,wal_level必须被设置为logical,而max_replication_slots中设置的值必须至少是预期要连接的订阅数加上保留给表同步的连接数。发布端参数max_wal_senders应满足:max_wal_senders>=max_replication_slots+同时连接的物理复制槽......
  • 一次grub配置文件的生成解释
    运行grub-mkconfig命令,需要到/usr/sbin目录运行,因为这个目录没有包含到PATH变量中。 执行命令,并输出内容jack@PC:/usr/sbin$sudo./grub-mkconfig-o/boot/grub/grub.cfgGeneratinggrubconfigurationfile...Foundbackgroundimage:/usr/share/images/desktop-b......
  • 【VMware vSphere】如何查看 OVF/OVA 模板部署虚拟机所配置的密码。
    当我们从OVF/OVA模板部署虚拟机时,在部署期间可能会要求你对虚拟机进行一些配置,比如IP地址、虚拟机密码等。关于这些配置参数,登录vSphereClient,可以转到该虚拟机-配置-设置-vApp选项-属性中进行参看。当我们部署完这个虚拟机后,如果长时间没有登录,忘记配置期间设置的密码,那该怎......
  • Zed——Eslint配置支持Vue
    前言体验下基于Rust的编辑器,看看是不是真的那么快,一个Vue2.0的老项目,其中已经配置好了eslint相应的规则;文档:https://zed.dev/docs/languages/javascript#eslintissue:https://github.com/zed-industries/zed/issues/9934内容配置最开始按着文档来配置,咋搞都没有对Vue.js生......
  • Redis配置登录密码并使用认证密码登录
    Redis配置登录密码并使用认证密码登录1.修改配置文件Redis的配置文件redis.conf,找到如下行:#requirepassfoobared去掉注释,并修改为所需要的密码:requirepass123456(其中123456就是要设置的密码)2.重启Redis如果Redis已经配置为service服务,可以通过以下方式重启:serviceredis......
  • mybatis-plus pageHelper 合理化配置
    mybatis分页设置//自定义分页拦截器importcom.baomidou.mybatisplus.core.metadata.IPage;importcom.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;publicclassCustomPaginationInterceptorextendsPaginationInnerInterceptor{@......
  • 从XML配置角度理解Spring AOP
    本文分享自华为云社区《Spring高手之路18——从XML配置角度理解SpringAOP》,作者:砖业洋__。1.SpringAOP与动态代理1.1SpringAOP和动态代理的关系SpringAOP使用动态代理作为其主要机制来实现面向切面的编程。这种机制允许Spring在运行时动态地创建代理对象,这些代理对象包......