Linux系统篇,开发工具(二):vim的使用与配置

系列文章目录

第三章 开发工具的认识与使用


文章目录

  • 系列文章目录
  • 前言
  • [一、 认识 vim](#一、 认识 vim)
  • [二、vim 的多模式](#二、vim 的多模式)
    • [2.1 如何理解多模式](#2.1 如何理解多模式)
    • [2.2 vim的常用模式](#2.2 vim的常用模式)
    • [2.3 模式的常用操作](#2.3 模式的常用操作)
      • [2.3.1 命令模式](#2.3.1 命令模式)
      • [2.3.2 插入模式](#2.3.2 插入模式)
      • [2.3.3 底行模式](#2.3.3 底行模式)
      • [2.3.4 替换模式](#2.3.4 替换模式)
      • [2.3.5 视图模式](#2.3.5 视图模式)
    • [2.4 vim 技巧](#2.4 vim 技巧)
  • 三、vim的配置
    • [3.1 个人配置](#3.1 个人配置)
    • [3.2 全局配置](#3.2 全局配置)
    • [3.3 配置操作](#3.3 配置操作)
  • 总结

前言

  上一节我们了解如何安装软件,今天我们学习新的开发工具vim,这个工具可以实现便捷的修改文本代码,这意味着我们可以更快的敲代码了,废话不说开始今天的学习吧。


一、 认识 vim

Vim(Vi IMproved) 是一款免费开源、高度可定制的终端文本编辑器,是经典 Unix 编辑器 vi 的增强版,1991 年由 Bram Moolenaar 发布,如今几乎所有 Linux/macOS 系统都默认自带。

  vim作为编辑器的一种,上手难度高,但只要上手后以后无论在哪里写代码都会得心应手。vim为系统自带的编辑器,我们可以直接使用通过指令vim 进入。

  退出方法: Esc + q 或 ZZ


二、vim 的多模式

2.1 如何理解多模式

  vim是一种多编辑器,因此它具有多种模式:类比在我们日常使用时word就是一种多编辑器,它不仅具有输出"Abcd"的字符的能力,还有复制拷贝的能力,这看着就是一种功能的体现,其实这是多模式的整合体现,因为图形化界面省略了这一切换模式的步骤。

2.2 vim的常用模式

  虽然vim具有十几种操作模式,但对于我们学习开发五种常用模式已经足够使用了 (这里先讲解三种模式后两种根据具体使用进行讲解)这三种模式分别为:命令模式、插入模式、底行模式(末行模式)

  • 命令模式: 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进⼊Insertmode下,或者到last

    line mode**(默认模式)
    **

  • 插入模式: 处于命令模式时按"i"进入该模式,只有在Insertmode下,才可以做⽂字输⼊,按「ESC」键可回到命令⾏模式。该模式是我们后⾯⽤的最频繁的编辑模式。

  • 底行模式: ⽂件保存或退出,也可以进⾏⽂件替换,找字符串,列出⾏号等操作。在命令模式下,''shift + :''即可进⼊该模式。要查看你的所有模式:打开vim,底⾏模式直接输入 :help vim-modes

      综上,三种模式的切换总结为:

2.3 模式的常用操作

  上面我们已经了解了常用的模式以及模式之间的切换,接下来让我们深入了解,熟悉各个模式的具体操作。

2.3.1 命令模式

  命令模式即实现快速编辑的主体,能够方便快捷地处理光标的移动,一下为光标移动的操作方法:。

操作 作用
gg 快速使光标移动到文件开始处
G 快速使光标移动至文件结尾处
n + G 快速移动到第n行
$ 跳到当前行的第一个非空白字符
^ 跳到当前行的最后一个非空白字符
n + h j k l 光标的左下上右移动n个距离(现在小键盘的箭头已可支持)
n + w b 光标以单词为单位向后/ 前 移动n个单词(默认为1)

  当然我们在写入时不仅需要移动光标的移动,还需要对文件进行编辑,以下为文件的编辑操作:

操作 作用
n + yy 复制当前行的所有内容(复制n行)
n + p 在光标所处的下一行粘贴所复制的内容(粘贴n次)
n + dd 剪切当前行(剪切n行)/ 也可以视为删除操作
n + x 删除当前光标位置的n个字符
n + X 删除当前光标位置前的n个字符
n + r + 字符 替换当前光标位置后n个字符为某字符
shift + ~ 大小写替换
u 撤销上一步的操作
ctrl + r 撤销 u 操作

  还有具体的查看操作

操作 作用
ctrl b f 屏幕往后 / 前 移动一页
ctrl f d 屏幕往后 / 前 移动半页
# 选中单词
n 逆向查找(# 与 n 一般 联合使用)

2.3.2 插入模式

  由命令模式切换而来,一般可以使用iao 这三个按键进入插入模式,插入模式即输出字符,没有什么特别的快捷操作。

a : 向后一个字符进入插入模式
o: 开启新空行并进入插入模式
i : 直接进入插入模式

2.3.3 底行模式

  由命令模式切换而来,一般可以使用进入,在底行输入相应指令。

操作 作用
w 保存
q 退出
wq! 强制保存并退出
ZZ 保存退出
set nu / nonu 开启/取消 行号
! + 命令 相当于命令行执行命令
% / a/ b / 将a字符串替换为b字符串
vs + 文件名 分屏操作(光标位于哪操作哪个文件,ctrl + w直接切换)
/ + 字符串 高亮显示输入的字符串

  分屏操作演示(分屏可以分多个):

2.3.4 替换模式

  R进入替换模式 ,依次替换光标位置的字符。

2.3.5 视图模式

  疲惫于一行行修改代码吗?尝试使用区域化的修改吧,ctrl + v 进视图模式 ,进行批量化处理代码

  批量化操作方法:

  1. ctrl + v 进入视图模式
  2. 移动光标操作(即命令模式中移动光标的操作)
  3. I 进入插入模式,输入字符操作命令(也是命令模式中的操作)
  4. Esc 应用操作

2.4 vim 技巧

  我们发现打开文件时,光标默认处于文件的开头,如果我们编译时发现错误在15行,那么我们可以直接vim 文件 + 15,将光标直接移动到15行。

  你是否对重复使用指令打开文件感到厌倦?这个!v指令可以直接匹配到最近使用的vim指令,从而直接打开上一次的文件。


三、vim的配置

  当我们使用vim打开文件时,我们发现它还是跟普通的编辑器一样,难道只有这些便捷方式吗?其实不然,它有着高亮、补全、行号标志等功能,只是这些功能还需要配置。

3.1 个人配置

  配置文件名为.vimrc,因为每个用户都有自己的vim需求,因此它的路径为: /home/用户名目录当中*(若没有,则需要自己创建该文件)*

  打开该文件后输入配置信息,即可为vim修改配置。这是因为vim作为软件位于 /uer/bin/vim 路径下,用户使用时会自动检测配置文件 若没有则使用默认配置

3.2 全局配置

  vim 作为所有用户都可使用的编译器,自然也可以统筹全局的配置,通过修改/etc/vimrc 这个配置文件,可以实现对全局配置信息的修改 (该配置优先级较低)

3.3 配置操作

  手动修改vim的常用配置信息为:

bash 复制代码
syntax on                                 " 自动语法高亮
set number                                " 显示行号
set smartindent                           " 智能自动缩进
set shiftwidth=4                          " 设置自动缩进时,每一级缩进4个空格的宽度
set tabstop=4                             " 设定 tab 长度为 4 
set expandtab                             " 将tab转换为等量的空格
set softtabstop=4                         " 按退格键时一次删掉4个空格
set nobackup                              " 覆盖文件时不备份
set autochdir                             " 自动切换当前目录为当前文件所在的目录
set backupcopy=yes                        " 设置备份时的行为为覆盖
set ignorecase smartcase                  " 搜索时忽略大小写
set nowrapscan                            " 禁止在搜索到文件两端时重新搜索
set incsearch                             " 输入搜索内容时就显示搜索结果
set hlsearch                              " 搜索时高亮显示被找到的文本
set showmatch                             " 插入括号时,短暂地跳转到匹配的对应括号
set matchtime=2                           " 短暂跳转到匹配括号的时间
set hidden                                " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存
set cmdheight=1                           " 设定命令行的行数为 1
set cursorline                            " 突出显示当前行
set ruler                                 " 打开状态栏标尺
set laststatus=2                          " 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\ 
" 设置在状态行显示的信息

  当然如果不想使用手写的方法,也可以直接应用gitee上整合好的开源项目,出现一下提示即代表安装成功。


总结

  本节的讲解就到这里了,在本节我们学习了vim的操作方法和五个常用模式,以及vim的详细配置,今后的代码修改离不开vim的使用,感谢您的阅读,谢谢大家。

`

相关推荐
weixin_5112552131 分钟前
NGINX常用配置
linux·服务器·nginx
Metaphor6921 小时前
使用 Python 读取和删除 Excel 文件属性
python·excel
荣合技术服务1 小时前
电脑多,单个加域麻烦?下载此AD域加域助手,批量加域速度快
运维·服务器·ad域控
昌原的儿子LEO1 小时前
进程和线程(2)
linux·服务器·网络
小王C语言2 小时前
云服务器重置后,vscode无法远程连接
运维·服务器
RoboWizard2 小时前
金士顿高性能存储 赋能工控行业多场景深度落地
运维·服务器
会飞的土拨鼠呀2 小时前
Linux 真实内存使用率的核心计算标准
linux·运维·服务器
智购科技自动售货机工厂2 小时前
2026自动售货机语音支付模块集成:从声纹识别到支付闭环的工程实践~YH
大数据·服务器·网络·数据库·人工智能
陈年老古董3 小时前
CentOS编译安装Python3.11完整教程
linux·笔记·学习·centos·python3.11
深念Y3 小时前
为什么选 Go:直观、可维护、AI 友好
linux·开发语言·人工智能·golang·agent·harness