vim需要什么配置(从零开始配置vim9)

发布日期:2024-12-22 08:51:54     作者:曲靖悠然     手机:https://m.xinb2b.cn/know/tmf467419.html     违规举报

虽然本系列文章叫做从0开始配置vim,似乎我们从一开始就要写vimrc配置文件,但是我们并没有这么做。我们先经过几篇文章了解了下面的几个内容

如何设置vim属性,从而改变vim的特征配置快捷键,以提高我们的使用效率使用自动命令,以便使用vim来自动化我们的相关操作

这些既有vimscript的东西,也有vim自身一些特性的描述。拥有这些基础知识之后,在阅读其他人写的配置或者自己配置将会变得更加容易。当然关于vim我们还有很多内容没有讲,例如该如何自定义命令,如何弹出一个窗口,以及到最后如何编写自己的插件。如果后续在配置过程中涉及到新的内容,我将会给大家进行讲解,尽量让大家明白我们配置的每行代码都有哪些作用,让大家不仅仅是照着抄一遍,而是能举一反三,根据自己的习惯打造完全属于自己的 vim。话不多说,下面就让我们从0开始来一步一步的将原始落后的vim打造成现代化的好用的编辑器。

相应的准备工作

开始配置前,让我们进行一些准备工作。

我们采用 neovim 进行配置,也打算使用 纯 lua 进行配置。如果你用的是 vim,请安装下载最新的 neovim。我本地的环境采用的是 neovim0.7.2 版本,你可以使用稍微低一点的版本,但至少保证版本在 0.6 及以上版本。(不要怪我一直变换版本,因为7以上的版本添加了自动命令的 lua 接口。)我随教程创建了一个 github仓库用于保存记录每次的配置,各位小伙伴可以克隆下来,也可以自己按照上面的目录结构和文章所描述的自己一步步手动组织。仓库地址: nvimrc-tutorial 。我们先使用 git clone https://github.com/aMonst/nvimrc-tutorial.git ~/.config/nvim 将仓库克隆到本地,然后在里面创建一个 init.lua 文件作为配置文件的入口基础配置

我们在 init.lua 中写入如下内容作为基础配置

-- 设置文件编码格式为 utf-8vim.g.encoding = "utf-8"-- 设置终端编码格式为 utf-8vim.o.termencoding = "utf-8"-- 开启语法高亮vim.o.syntax = "enable"-- 显示相对行号vim.o.relativenumber = true-- 显示行号vim.o.number = true-- 高亮所在行vim.o.cursorline = true-- 自动换行vim.o.wrap = true-- 显示光标位置vim.o.ruler = true-- 边输入边搜索vim.o.incsearch = true-- 开启搜索匹配高亮vim.o.hlsearch = true-- 搜索时自行判断是否需要忽略大小写vim.o.smartcase = true-- tab键转换为 4 个空格vim.o.tabstop = 4vim.o.softtabstop = 4vim.o.shiftwidth = 4-- 新行对齐当前行,tab转换为空格vim.o.expandtab = truevim.bo.expandtab = truevim.o.autoindent = truevim.bo.autoindent = truevim.o.smartindent = true-- << >> 缩进时移动的长度vim.o.shiftwidth = 4vim.bo.shiftwidth = 4-- 使用jk移动光标时,上下方保留8行vim.o.scrolloff = 8vim.o.sidescrolloff = 8-- 设置自动折叠vim.o.smartindent = true-- 历史命令最多保存1000条vim.o.history = 1000-- 显示空白字符vim.o.list = true-- 样式vim.o.background = "dark"vim.o.termguicolors = truevim.opt.termguicolors = true

完成之后,再次打开vim发现它已经变成了这样


本篇就到这里了,下一篇我们将对默认的快捷键进行配置

 
 
本文地址:https://xinb2b.cn/know/tmf467419.html,转载请注明出处。

推荐图文
推荐经验知识
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  违规举报  |  蜀ICP备18010318号-4  |  百度地图  | 
Processed in 0.023 second(s), 1 queries, Memory 2.39 M