当前位置:网站首页>从零开始配置 vim(9)——初始配置
从零开始配置 vim(9)——初始配置
2022-08-10 02:46:00 【aluluka】
虽然本系列文章叫做从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-8
vim.g.encoding = "utf-8"
-- 设置终端编码格式为 utf-8
vim.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 = 4
vim.o.softtabstop = 4
vim.o.shiftwidth = 4
-- 新行对齐当前行,tab转换为空格
vim.o.expandtab = true
vim.bo.expandtab = true
vim.o.autoindent = true
vim.bo.autoindent = true
vim.o.smartindent = true
-- << >> 缩进时移动的长度
vim.o.shiftwidth = 4
vim.bo.shiftwidth = 4
-- 使用jk移动光标时,上下方保留8行
vim.o.scrolloff = 8
vim.o.sidescrolloff = 8
-- 设置自动折叠
vim.o.smartindent = true
-- 历史命令最多保存1000条
vim.o.history = 1000
-- 显示空白字符
vim.o.list = true
-- 样式
vim.o.background = "dark"
vim.o.termguicolors = true
vim.opt.termguicolors = true
完成之后,再次打开vim发现它已经变成了这样
本篇就到这里了,下一篇我们将对默认的快捷键进行配置
边栏推荐
- [Kali Security Penetration Testing Practice Course] Chapter 8 Web Penetration
- 【语义分割】2022-HRViT CVPR
- 实例046:打破循环
- Redis - Basic operations and usage scenarios of String|Hash|List|Set|Zset data types
- Introduction and application of quantitative trading strategies
- Will signal with different start time alignment
- 2022.8.9 Remainder of Exam Balance--1000 Question Solutions
- 2022.8.8 Exam questions for photographer Lao Ma (photographer)
- On the Harvest of Travel
- 2022.8.9 Exam Unique Bid Auction--800 Question Solutions
猜你喜欢

flex 的 三个参数:flex-grow、flex-shrink、flex-basis

《天才基本法》:平行时空的第二次选择,小演员的表现意外出圈

书法家唐效奇

MySQL: Introduction to Logging System | Error Log | Query Log | Binary Log: Bin-log Data Recovery Practice | Slow Log Query

实例047:函数交换变量

yolov5+usb相机

MySQL:你做过哪些MySQL的优化?

实例043:作用域、类的方法与变量
一文教会你快速上手 Vim

How to write a high-quality test case?
随机推荐
Example 048: Number ratio size
【Image Classification】2022-ResMLP
[Kali Security Penetration Testing Practice Course] Chapter 7 Privilege Escalation
【图像分类】2022-CycleMLP ICLR
一文教会你快速上手 Vim
2022.8.9 Exam Cube Sum--1100 Question Solutions
vite基础,vite中 `@`符号是不被支持,不用@符号,直接用层级(./,../等)
Flink CDC 2.0及其他数据同步工具对比
Little rookie Hebei Unicom induction training essay
Pycharm中6个常用插件推荐
PC摄像头设置 默认摄像头设置 win11 默认摄像头设置
MySQL:你做过哪些MySQL的优化?
2022.8.8考试区域链接(district)题解
2020.11.22 Exam Goldbach Conjecture Solution
6 common plugin recommendations in Pycharm
驱动程序开发:按键中断之异步通知
“双枪”木马病毒的进化史
what is eabi
Research on IC enterprises
Leetcode 47 全排列Ⅱ