当前位置: 首页 > news >正文

【Linux】vim编辑器

前言:

        上文我们讲到了Linux中权限相关的指令【Linux】权限相关指令-CSDN博客

        本文来讲解以下能让我们在Linux下编写代码的工具:vim

1.vim简单介绍

        vim是Linux中一个较为常用的编辑器,也是Linux中上手难度最大的编辑器之一。有的同学可能知道vi这个编辑器,其实vim就是vi的增强升级版。只要我们学会了如何使用vim,那Linux下的其他编辑器就可以说是到手就顷刻炼化了。

2.vim的模式

        vim的模式有特别特别多,但对于正常使用来说,我们掌握其中3种即可:

1.普通模式(Normal mode)

普通模式也称命令模式。使用命令操控vim达到目标效果,一般的命令效果讲从光标位置开始生效。而想要进入其他模式,也必须在普通模式下通过命令进入。

2.插入模式(Insert mode)

插入模式由普通模式通过点击"i"或"insert"进入。在该模式下,可以实现信息的输入与编辑,通过esc可以回退到普通模式。

3.底行模式((last line mode)

底行模式由普通模式执行"Shift+;"进入。在该模式下,可以实现文件的保存与退出操作,也可以实现文本替换、查找字符串等功能

 

注:插入模式和底行模式之间并不能相互切换 

3.vim的基本操作演示

1.进入vim

执行vim或vim+文件名

hyc@hcss-ecs-4ce7:~$ vim new.c

2.编辑信息

点击" i "或" insert ",进入插入模式。这时候可以编辑信息

3.保存信息并退出vim

先点击Esc,退出插入模式。再点击" shift + ; "进入底行模式

在底行在输入命令:wq,w表示保存,q表示退出。点击Enter,退出vim

4.普通模式命令合集

模式切换:

i  或 Insert:进入插入模式

Shift + ;  :进入底行模式

光标移动:

gg:光标回到文本第一行

shift + g :光标回到文本最后一行

shift + 4($) :光标回到当前行的最后一个字母

shift + 6(^) :光标回到当前行的第一个字母

H:向左移动

J:向下移动

K:向上移动

L:向右移动

(键盘上的上下左右键也可以实现,HJKL是在没有方向键的时代诞生的)

w:以单词为单位向后移动

b:以单词为单位向前移动

内容编辑:

yy:复制光标所在行的内容

p:在光标位置处粘贴

dd:剪切或删除光标所在行的内容

x:删除光标右侧内容

Shift + x:删除光标左侧内容

r:替换光标所在位置的字母

Shift + r:批量替换

Shift + ~:大小写切换


Shift + 3(#):选中光标位置的单词

n:从下往上找选中的单词

补充:

撤销操作:

u:撤销之前的操作

Shift + r:撤销u

补充:文件只要没有退出就可以撤销之前的操作,但是如果退出了就无法再撤销之前的操作了

5.底行模式命令合集

 常规:

w:保存文件内容

q:退出vim

!:强制执行命令

set nu:显示行号

set nonu:不显示行号

补充:

!命令:可以在vim下执行Linux指令

%s /目标字符/替换字符/:可以用替换字符替换目标字符(当然也可以是字符串)

vs  文件名:可以分为多屏,一次性展示多个文件

演示: 

6.补充模式:视图模式

在普通模式下,点击Ctrl + v,进入视图模式

视图模式主要是为了批量修改文本,例如批量注释代码、批量添加换行符

批量注释演示:

1.进入视图模式

2.移动光标旋转自己要注释的内容

3.点击Shift + i,进入插入模式,打出//注释符号

4.点击Esc,之前我们选择的内容就全部被注释掉了,而且回到普通模式

批量添加换行符演示:

1.先移动光标到换行符将要被添加的位置

2.进入视图模式,选择需要添加换行符的行

3.点击Shift + i 进入插入模式,输入 "\n" 

4.点击Esc,批量添加换行符功能。此时模式也回到了普通模式

总结:

相关文章:

  • git查看commit属于那个tag
  • Day 40
  • IM系统的负载均衡
  • windows-cmd 如何查询cpu、内存、磁盘的使用情况
  • Spring Web高保真Axure动态交互元件库
  • 每日Prompt:指尖做画
  • 【论文解读】CVPR2023 PoseFormerV2:3D人体姿态估计(附论文地址)
  • 在Babylon.js中创建3D文字:简单而强大的方法
  • Git的简单介绍分析及常用使用方法
  • CentOS7.9环境离线部署docker和docker-compose的两种方式
  • Express教程【003】:Express获取查询参数
  • 低碳理念在道路工程中的应用-预制路面
  • 最佳实践|互联网行业软件供应链安全建设的SCA纵深实践方案
  • 数据结构 --链表
  • 苏州SAP代理公司排名:工业园区企业推荐的服务商
  • cf每日刷题c++
  • C++?多态!!!
  • (独家)SAP VC物料 超级BOM怎么开单?怎么计算或发布表标准成本?
  • 题目 3293: 蓝桥杯2024年第十五届决赛真题-数位翻转
  • Scratch节日 | 龙舟比赛 | 端午节
  • wordpress gitbook/seo优化师培训
  • 做物流百度网站/企业网站开发多少钱
  • jsp网站开发的环境配置/如何推广微信公众号
  • 初中做网站用什么软件/互联网营销做什么
  • 高端医疗网站建设/企业网站seo服务
  • 洛阳网站建设洛阳网站制作/小说推广关键词怎么弄