配置文件

回忆上节课内容

  • 我们上次了解到了状态横条

    • 通过转义表示 item
    • 控制 item 宽度的方法
    • item 成组的方法
    • 还有一个总开关 laststatus
  • 但是每次都要写很长的一段话来配置很麻烦啊
  • 我们能否写一个配置文件,让 vim 每次自动配置好呢?

配置文件

#首先打开原来的配置文件,~代表用户文件夹
vi ~/.vimrc
#可以用/statusline找到状态条的写法

~/.vimrc

  • 可以发现 ~/.vimrc 就是 vi配置文件
  • 如果这个配置文件找不到了 vi 会变成什么样子呢?
  • 试试!
#原配置文件改名
mv ~/.vimrc ~/.vimrc_old
#重新书写配置文件
vi ~/.vimrc

书写配置文件

  • 配置文件清空后

    • 配置信息全丢
    • 没关系,从头写
  • 首先设置一个状态栏在 ~/.vimrc 里面写两句话

    • set statusline=oeasy
    • set laststatus=2
    • 注意这里就不用 :
  • 保留并退出
  • 重新编辑 vi ~/.vimrc
  • 发现状态栏已经生效
  • 更新状态栏

    • set statusline=%-040.40(%F%m%)%-030.30([%l,%c]%)%p%%
    • set laststatus=2
    • set ru nu sc

  • :h options 查询更多实用开关

各种实用开关

  • set number 显示行号
  • set relativenumber 显示相对行号
  • set cursorline 光标所在的当前行高亮
  • set cursorcolumn 光标所在的当前行高亮
  • set nocompatible 使用 vim 模式,不与 Vi 兼容
  • syntax on 打开语法高亮
  • set showmode 在底部显示,当前所处模式
  • set showcmd 命令模式下,在底部显示键入指令
  • set mouse-=a 纯键盘操作
  • set encoding=utf-8 使用 utf-8 编码
  • set autoread 硬盘文件变化后,自动读取
  • 把上述这些存储到 ~/.vimrc 之后,以后这些配置就会自动起作用了
  • 也可以去 github 搜索 .vimrc 找到关于配置的更多信息

查询开关 option 细节

  • 查询某个设置的帮助可以加上单引号

    • :h 'number' 可以查找 number 相关的设定
    • :h 'mouse' 可以查找 mouse 相关的设定
    • :h 'autoread' 可以查找 autoread 相关的设定

最终的设定

  • set statusline=%-040.40(%F%m%)%-030.30([%l,%c]%)%p%%
  • set laststatus=2
  • set ruler
  • set number
  • set showcmd
  • set nocompatible
  • set showcmd
  • set showmode
  • set history=100
  • 你能把他们的含义都说清楚吗?

总结

  • 找到配置文件的位置 ~/.vimrc

    • 了解各种配置开关
    • 修改配置文件并应用
  • 不过这个颜色究竟是怎么配置的呢?
  • 下次再说

oeasy教您玩转vim - 22 - 配置文件的更多相关文章

  1. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  2. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  3. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  4. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  5. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  6. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

  7. oeasy教您玩转linux010201持续输出yes

    我们来回顾一下 上一部分我们都讲了什么?

  8. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

  9. oeasy教您玩转linux010107那啥在哪 whereis

    回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:

  10. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

随机推荐

  1. Maven项目中整合SSH(pom.xml文件的配置详解)

    Maven项目中整合SSH比较繁琐,需要解决版本冲突问题,博主在下面给出了pom.xml文件的配置信息,改配置文件整合的是:struts2-2.3.24.spring4.2.4.hibernate5. ...

  2. Vue cli之单文件组件

    组件有两种:脚本化组件.单文件组件 脚本化组件的缺点: html代码是作为js的字符串进行编写,所以组装和开发的时候不易理解,而且没有高亮效果. 脚本化组件用在小项目中非常合适,但是复杂的大项目中,如 ...

  3. windows下IPv6通信(C++、MFC)

    Server #include <stdio.h> #include <Ws2tcpip.h> #include <winsock2.h> #define HELL ...

  4. react css-in-js

    CSS-in-JS是一种技术,而不是一个具体的库实现.简单来说CSS-in-JS就是将应用的CSS样式写在JavaScript文件里面,而不是独立为一些css,scss或less之类的文件,这样你就可 ...

  5. ABC347题解

    省流:输+赢 D 按位分析. 既然两个数异或后的结果是 \(C\),那就考虑 \(C\) 中为 \(1\) 的数中有几个是在 \(X\) 当中的. 假如 \(\text{a - popcnt(X) = ...

  6. INFINI Labs 产品更新 | Easysearch 优化字段压缩提升写入速度,Console 优化数据迁移和校验等功能

    INFINI Labs 产品又更新啦~.本次更新概要如下:Easysearch 增强 source_reuse 压缩功能,并大幅提升写入速度:Console 优化了数据迁移和校验功能,新增了通用的数据 ...

  7. edge 书签栏 收藏夹栏 字体大小

    WIN10中,edge收藏夹栏字体太大,如果收藏数目多,得多翻好几页. 解决方法: 地址栏中输入: edge://flags/#edge-pc-ui-integration Enable Window ...

  8. Nuxt 3 路由系统详解:配置与实践指南

    title: Nuxt 3 路由系统详解:配置与实践指南 date: 2024/6/21 updated: 2024/6/21 author: cmdragon excerpt: 摘要:本文是一份关于 ...

  9. python 二次封装logging,打印日志文件名正确,且正确写入/结合pytest执行,日志不输出的问题

    基于之前日志问题,二次封装日志后,导致日志输出的文件名不对,取到的文件一直都是当前二次封装的log的文件名,基于这个问题,做了优化,详细看 https://www.cnblogs.com/cuitan ...

  10. 新手指引:前后端分离的springboot + mysql + vue实战案例

    案例说明: 使用springboot + mysql + vue实现前后端分离的用户查询功能. 1.mysql:创建test数据库 -> 创建user数据表 -> 创建模拟数据: 2.sp ...