From 56b6f42878448cbb2c4bfd8cff7eff0720091dd7 Mon Sep 17 00:00:00 2001 From: "Xin.Chen" Date: Sat, 13 Nov 2021 19:09:23 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=96=20DOC:=20writing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 166 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 155 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index c6f3c71..7b7d82f 100644 --- a/README.md +++ b/README.md @@ -29,13 +29,17 @@ ## 目录 -- WSL2 -- Windows terminal +- WSL 2 +- Windows Terminal - Nerd fonts - 安装 Neovim - Neovim 配置文件 +- 配置入口 init.vim +- 基础配置 basic.lua +- 快捷键配置 keybindings.lua - 插件管理器 Packer - 语法高亮 Treesitter +- LSP ## WSL 2 @@ -128,15 +132,15 @@ lua require('basic') 目前我的配置文件大概是这个样子。 ``` -├── init.vim -└── lua -    ├── basic.lua -    ├── keybindings.lua -    ├── lsp +├── init.vim 入口文件 +└── lua 所有 lua 配置文件 +    ├── basic.lua Neovim 的基础配置 +    ├── keybindings.lua 快捷键配置 +    ├── lsp 内置 LSP (Language Server Protocol) 配置    │   ├── diagnostic_signs.lua    │   ├── language_servers.lua    │   └── nvim-cmp-config.lua -    ├── plugin-config +    ├── plugin-config 各个插件配置在这个文件夹    │   ├── bufferline.lua    │   ├── comment.lua    │   ├── nvim-autopairs.lua @@ -147,10 +151,14 @@ lua require('basic')    │   ├── surround.lua    │   ├── telescope.lua    │   └── which-key.lua -    └── plugins.lua +    └── plugins.lua 插件安装管理 ``` -`init.vim` 主要负责加载各个 lua 文件 +## init.vim 配置入口 + +`init.vim` 是入口文件,主要负责加载各个 lua 文件,对应上边的结构。 + +如果暂时没有找到办法用lua设置的,就在这里用vim脚本设置。 ``` " 基础设置 @@ -182,7 +190,143 @@ lua require('lsp/diagnostic_signs') lua require('lsp/language_servers') ``` -## 基础配置 +## 基础配置 basic.lua + +这里的配置看着有点多,比 `VSCode` 复杂多了,主要是历史遗留的默认配置不太合理。 + +其实不用纠结太多,我参考了很多大神的配置都差不多,可以闭眼直接 copy。 + +可以根据需要微调,大部分都有注释 + +```lua +-- utf8 +vim.g.encoding = "UTF-8" +vim.o.fileencoding = 'utf-8' +-- 光标下方保留8行 +vim.o.scrolloff = 8 +vim.o.sidescrolloff = 5 +-- 相对行号 +vim.wo.number = true +vim.wo.relativenumber = true +-- 高亮所在行 +vim.wo.cursorline = true +-- 显示左侧图标指示列 +vim.wo.signcolumn = "yes" +-- 右侧参考线 +vim.wo.colorcolumn = "80" +-- 缩进2个空格等于一个Tab +vim.o.tabstop = 2 +vim.bo.tabstop = 2 +vim.o.softtabstop = 2 +vim.o.shiftround = true +-- >> << 时长度 +vim.o.shiftwidth = 2 +vim.bo.shiftwidth = 2 +-- 新行对齐当前行,空格替代tab +vim.o.expandtab = true +vim.bo.expandtab = true +vim.o.autoindent = true +vim.bo.autoindent = true +vim.o.smartindent = true +-- 搜索大小写不敏感,除非包含大写 +vim.o.ignorecase = true +vim.o.smartcase = true +-- 搜索不要高亮 +vim.o.hlsearch = false +-- 边输入边搜索 +vim.o.incsearch = true +-- 使用增强状态栏后不再需要 vim 的模式提示 +vim.o.showmode = false +-- 命令行高为2,提供足够的显示空间 +vim.o.cmdheight = 2 +-- 当文件被外部程序修改时,自动加载 +vim.o.autoread = true +vim.bo.autoread = true +-- 禁止折行 +vim.o.wrap = false +vim.wo.wrap = false +-- 允许隐藏被修改过的buffer +vim.o.hidden = true +-- 鼠标支持 +vim.o.mouse = "a" +-- 行结尾可以跳到下一行 +vim.o.whichwrap = 'b,s,<,>,[,],h,l' +-- 禁止创建备份文件 +vim.o.backup = false +vim.o.writebackup = false +vim.o.swapfile = false +-- smaller updatetime +vim.o.updatetime = 300 +-- 等待mappings +vim.o.timeoutlen = 100 +-- split window 从下边和右边出现 +vim.o.splitbelow = true +vim.o.splitright = true +-- 自动补全不自动选中 +vim.g.completeopt = "menu,menuone,noselect,noinsert" +--------------------------------------------- +vim.o.background = "dark" +vim.o.termguicolors = true +vim.opt.termguicolors = true +--? tab 字符显示 +vim.o.list = true +vim.o.listchars = "tab:>·" +-- 补全 +vim.o.wildmenu = true +-- Dont' pass messages to |ins-completin menu| +vim.o.shortmess = vim.o.shortmess .. 'c' +vim.o.pumheight = 10 +-- vim.o.conceallevel = 0 +vim.o.showtabline = 2 + +``` + +## 快捷键配置 keybindings.lua + +```lua + +-- leader +vim.g.mapleader = " " +vim.g.maplocalleader = " " +local map = vim.api.nvim_set_keymap + + +-- ctrl u / ctrl + d 只移动9行,默认移动半屏 +map("n", "", "9k", {noremap = true, silent = true }) +map("n", "", "9j", {noremap = true, silent = true }) + +map('v', '<', '', '>gv', {noremap = true, silent = false}) + +-- 分屏 +map("n", "", "h", {noremap = true, silent = false }) +map("n", "", "j", {noremap = true, silent = false }) +map("n", "", "k", {noremap = true, silent = false }) +map("n", "", "l", {noremap = true, silent = false }) +map("n", "", "o", {noremap = true, silent = false }) -- close others + +-- map("n", "", ">", {noremap = true, silent = false }) +-- map("n", "", "vertical resize -2", {noremap = true, silent = false }) +map("n", "", "=", {noremap = true, silent = false }) + +-- Telescope +map("n", "", "Telescope find_files", {noremap = true, silent = false }) +map("n", "f", "Telescope find_files", {noremap = true, silent = false }) +map("n", "g", "Telescope live_grep", {noremap = true, silent = false }) + +-- nvimTree +map('n', '', ':NvimTreeToggle', {noremap = true, silent = true}) + +-- bufferline 左右切换 +map("n", "", "BufferLineCyclePrev", {noremap = true, silent = true }) +map("n", "", "BufferLineCycleNext", {noremap = true, silent = true }) + + +-- comment +-- see ./comment-config.lua + +``` + ##包管理器