轻量Nvim&Tmux配置美化

前言

Nvim与Tmux在github上已有很多成熟的配置方案,本方案以较小的配置量来简单的配置Nvim与Tmux。我的配置文件https://github.com/Mel-SRK/My_configREDME涵盖安装

预览

屏幕截图_20240809_181006.png

Neovim

基础

保证neovim已在本地安装如(以arch为例)

sudo pacman -S neovim

默认配置位置~/.config/nvim/
使用插件管理器为packer.nvim
实现功能/优化主要有:

  1. 快捷的保存退出
  2. 文件目录树
  3. 标签页
  4. 与系统共用剪切板
  5. 保存光标位置在下次打开文件时自动跳转
  6. 基于coc的自动补全
  7. 基于lsp的代码高亮显示

配置

基础配置

init.lua为默认配置文件,使用lua可调用其他文件所以init.lua内的配置并不多

--加载文件
require('options') 
require('keymaps') 
require('plugins') 
require('treesitter') 
require('coc') 
require('lualine').setup()
require('colors')
				require('tree')

--配置

--bufferline
vim.opt.termguicolors = true
require("bufferline").setup{
    options = {
        mode = "buffer",
        -- 显示id
        number = "ordinal"
    }
}

加载文件区调用的是lua文件夹内的lua脚本
options内是基础配置
keymaps内为键位映射
plugins内为插件管理的配置,插件的安装以及更新需要此配置文件
treesitter为高亮渲染插件配置
coc为coc配置,在nvim文件下其实还有coc-settings.json
lualine为底栏相关配置
colors为主题配色相关配置
tree为文件树插件的配置信息
bufferline的配置则是标签页的插件加载
以上插件配置详尽可阅读相关wiki,均有github页面

键位

在keymaps.lua内可见

-- define common options
local opts = {
    noremap = true,      -- non-recursive
    silent = true,       -- do not show message
}

-----------------
-- Normal mode --
-----------------

-- Hint: see `:h vim.map.set()`
-- Better window navigation
vim.keymap.set('n', '<C-h>', '<C-w>h', opts)
vim.keymap.set('n', '<C-j>', '<C-w>j', opts)
vim.keymap.set('n', '<C-k>', '<C-w>k', opts)
vim.keymap.set('n', '<C-l>', '<C-w>l', opts)

-- Resize with arrows
-- delta: 2 lines
vim.keymap.set('n', '<C-Up>', ':resize -2<CR>', opts)
vim.keymap.set('n', '<C-Down>', ':resize +2<CR>', opts)
vim.keymap.set('n', '<C-Left>', ':vertical resize -2<CR>', opts)
vim.keymap.set('n', '<C-Right>', ':vertical resize +2<CR>', opts)

-----------------
-- Visual mode --
-----------------

-- Hint: start visual mode with the same area as the previous area and the same mode
vim.keymap.set('v', '<', '<gv', opts)
vim.keymap.set('v', '>', '>gv', opts)

-- Nvim Tree
vim.keymap.set('n','t',':NvimTreeFocus<CR>',opts)
vim.keymap.set('n','T',':NvimTreeToggle<CR>',opts)

-- 快速在buffer间跳转
vim.api.nvim_set_keymap("n", "1", ":BufferLineGoToBuffer 1<CR>", {noremap = true, silent = true})
vim.api.nvim_set_keymap("n", "2", ":BufferLineGoToBuffer 2<CR>", {noremap = true, silent = true})
vim.api.nvim_set_keymap("n", "3", ":BufferLineGoToBuffer 3<CR>", {noremap = true, silent = true})
vim.api.nvim_set_keymap("n", "4", ":BufferLineGoToBuffer 4<CR>", {noremap = true, silent = true})
vim.api.nvim_set_keymap("n", "5", ":BufferLineGoToBuffer 5<CR>", {noremap = true, silent = true})
vim.api.nvim_set_keymap("n", "6", ":BufferLineGoToBuffer 6<CR>", {noremap = true, silent = true})
vim.api.nvim_set_keymap("n", "7", ":BufferLineGoToBuffer 7<CR>", {noremap = true, silent = true})
vim.api.nvim_set_keymap("n", "8", ":BufferLineGoToBuffer 8<CR>", {noremap = true, silent = true})
vim.api.nvim_set_keymap("n", "9", ":BufferLineGoToBuffer 9<CR>", {noremap = true, silent = true})
vim.api.nvim_set_keymap("n", "<leader>bg", ":BufferLinePick", {noremap = true, silent = true})

vim.api.nvim_set_keymap("n", "gt", ":BufferLineCycleNext<CR>", {noremap = true, silent = true})
vim.api.nvim_set_keymap("n", "gT", ":BufferLineCyclePrev<CR>", {noremap = true, silent = true})

--q键退出
vim.keymap.set('n','q',':q<CR>',opts)
vim.keymap.set('n','w',':w<CR>',opts)

对一些插件的功能进行快捷键映射,并且添加了简单的去阴间化配置:
在有标签页且非编辑模式下可直接使用数字键在多个标签页间跳跃,使用t打开和回到目录树T打开和关闭目录树,q映射为:q,w:w
键位配置调用vim.keymap.set函数,在第二个单引内配置键位,在第三个单引内配置映射功能即可,其中<CR>为回车操作,Ctrl+x可写作<C-x>

Tmux

tmux默认配置应当放到主目录下,但是为了统一管理我把他们也放到了.config内,然后使用ln创建连接

ln -s ~/.config/tmux/.tmux.conf ~/.tmux.conf
ln -s ~/.config/tmux/.tmux.conf.local ~/.tmux.conf.local

我的配置只是把前缀改为了C-x来去阴间化,其他一概不动,说好听些是为了上手服务器和没有自己配置的机器时可以记得默认快捷键,实际情况是懒得改了,一定程度已经适应了。
默认前置快捷键为:Ctrl-x
新建窗口:Ctrl-x+c
横向分割窗口:Ctrl-x±
纵向分割窗口:Ctrl-x+—
默认开启鼠标支持,鼠标拖动选中文本后松开即可复制至系统剪切板
实现再次打开终端继续使用上次的shell,可将虚拟终端程序的启动shell改为tmux a(图片以kde的Konsole为例)
预览图片2.png
随后将My_config/tmux/tmux.sh加入开机自启(可自行配置)

nvim 0.9 版本是一个开源的文本编辑器,该版本加入了对 Lua 配置的支持。Lua 是一种轻量级的脚本语言,具有简洁、高效、可嵌入等特点,因此在 nvim 中使用 Lua 配置可以使编辑器的配置更加灵活、可定制性更强。 配置 nvim 0.9 版本的 Lua 插件需要以下步骤: 1. 安装 Lua 插件支持:使用适当的包管理工具,如 Packer、Packer.nvim 等安装 Lua 插件的支持。这些插件会提供对 Lua 的解释和执行环境。 2. 编写 Lua 配置文件:创建一个名为 init.lua 的文件,并在这个文件中编写 Lua 配置。在此文件中,可以定义插件、设置键绑定、主题、语法高亮等。例如,可以使用 Lua 的 tables 来组织配置选项和设置。 3. 加载插件和设置:在 init.lua 中,可以使用 Lua 的 require 函数加载所需的插件,并使用 Lua 的函数来设置编辑器的选项。例如,可以使用 require('插件名') 来加载插件,并使用 vim.api.nvim_command() 函数来执行编辑器的设置命令。 4. 配置自动补全:Lua 在 nvim 中支持 LSP(Language Server Protocol),可以通过安装相应的插件和配置文件来实现代码自动补全功能。在 init.lua 中,可以使用 require('lspconfig') 加载 LSP 插件,并通过设置 LSP 服务器的配置选项来配置自动补全。 通过以上步骤,就可以配置 nvim 0.9 版本的 Lua 插件。使用 Lua 配置可以使编辑器的功能更加强大,并且可以根据自己的需求进行个性化定制。鉴于 Lua 的灵活性和易用性,Lua 配置在 nvim 的使用中越来越受到开发者们的欢迎。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值