Linux工具篇 之 vim概念 操作 及基础指令讲解

学校不大 创造神话

讲桌两旁 陨落的王

临时抱佛脚 佛踹我一脚

书山有路勤为径 游戏玩的很起劲

想要计算机学的好,我的博客列表是个宝

--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀-正文开始-❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--❀--

目录

一、vim的基本概念

二、vim的基本操作

三、vim命令模式命令集

四、vim底行模式命令集

五、完结撒❀


一、vim的基本概念

在介绍vim之前有些同学可能听过vi,vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。

这篇博客我们先讲解vim基础的三种模式(其实vim一共有12种模式),分别是命令模式(command mode)、插入模式(insert mode)、底行模式(last line mode),各模式的功能区分如下:

● 正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入 Insert mode 下,或者到 last line mode

● 插入模式(insert mode)

只有在 Insert mode 下,才可以做文字输入,按「 ESC 」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

● 末行模式(last line mode)

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

二、vim的基本操作

● 进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:

● $ vim test.c

● 不过有一点要特别注意,就是你进入vim之后,是处于[命令模式],你要切换到[插入模式]才能够输入文字

● [命令模式] 切换至 [插入模式]

● 输入a 光标向后一格进入插入模式

● 输入i 光标当前位置进入插入模式

● 输入o 光标回车到下一行进入插入模式

● [插入模式]切换至[命令模式]
● 目前处于[ 插入模式 ] ,就只能一直输入文字,如果发现输错了字 , 想用光标键往回移动,将该字删除,可 以先按一下「 ESC 」键转到 [ 命令模式 ] 再删除文字。当然,也可以直接删除。
● [命令模式]切换至[底行模式]
● 「shift + ; 」 , 其实就是输入「 : 」
● 退出vim及保存文件,在[命令模式]下,按一下「:」冒号键进入[底行模式],例如:

● : w(保存当前文件)

● : wq (输入「wq」,存盘并退出vim)
● : q!(输入 q!, 不存盘强制退出 vim)

三、vim命令模式命令集

● 插入模式

● 按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件;
● 按「a 」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
● 按「o 」进入插入模式后,是插入新的一行,从行首开始输入文字

从插入模式切换为命令模式

● 按「ESC」键。

● 移动光标

● vim可以直接用键盘上的光标来上下左右移动,但正规的 vim 是用小写英文字母「 h 」、「 j 」、「 k 」、「 l 」,分别控制光标左、下、上、右移一格
● 按「 $ 」:移动到光标所在行的 " 行尾"
● 按「 ^ 」:移动到光标所在行的 " 行首"
● 按「 w 」:光标跳到下个单词的开头
● 按 「b 」:光标回到上个字的开头
● 按「 e 」:光标跳到下个字的字尾
● 按「 #l 」:光标移到该行的第# 个位置,如: 5l,56l
● 按[gg ]:进入到文本开始
● 按[shift + g = G ]:进入文本末端
● 按「ctrl 」 + 「 b 」:屏幕往 " 后 " 移动一页
● 按「ctrl 」 + 「 f 」:屏幕往 " 前 " 移动一页
● 按「ctrl 」 + 「 u 」:屏幕往 " 后 " 移动半页
● 按「ctrl 」 + 「 d 」:屏幕往 " 前 " 移动半页

● 删除文字

● 「x」:每按一次,删除光标所在位置的一个字符
● 「#x 」:例如,「 6x 」表示删除光标所在位置的 " 后面(包含自己在内) "6 个字符
● 「X 」:大写的 X ,每按一次,删除光标所在位置的 " 前面 " 一个字符
● 「#X 」:例如,「 20X 」表示删除光标所在位置的 " 前面 "20 个字符
● 「dd 」:删除光标所在行
● 「#dd 」:从光标所在行开始删除 # 行

● 复制

● 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
● 「#yw 」:复制 # 个字到缓冲区
● 「yy 」:复制光标所在行到缓冲区。
● 「#yy 」:例如,「 6yy 」表示拷贝从光标所在的该行 " 往下数 "6 行文字。
● 「p 」:将缓冲区内的字符贴到光标所在位置。注意:所有与 "y" 有关的复制命令都必须与 "p" 配合才能完 成复制与粘贴功能。

● 替换

● 「r 」:替换光标所在处的字符。
● 「R 」:替换光标所到之处的字符,直到按下「 ESC 」键为止。

● 撤销上一次操作

● 「u 」:如果您误执行一个命令,可以马上按下「 u 」,回到上一个操作。按多次 "u" 可以执行多次回 复。
● 「ctrl + r 」 : 撤销的恢复

● 更改

● 「cw 」:更改光标所在处的字到字尾处
● 「c#w 」:例如,「 c3w 」表示更改 3 个字

● 跳至指定的行

● 「ctrl 」 + 「 g 」列出光标所在行的行号。
● 「#G 」:例如,「 15G 」,表示移动光标至文章的第 15 行行首。

● 其他查用指令

● Shift + `=~:大小写快速切换

● Shift + zz=ZZ:直接保存并退出

● Ctrl + z:挂后台,程序并没有关闭

● Ctrl + ww:在vs开多窗口下,进行光标的窗口切换

四、vim底行模式命令集

在使用底行模式之前,请记住先按「 ESC 」键确定您已经处于命令模式,再按「:」冒号即可进入底行模式。

● 列出行号

● 「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。

● 跳到文件中的某一行

● 「# 」 : 「 # 」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字 15 , 再回车,就会跳到文章的第 15 行。

● 查找字符

● 「/ 关键字」 : 先按「 / 」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 「 n 」会往后寻找到您要的关键字为止。
● 「? 关键字」:先按「 ? 」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直 按「 n 」会往前寻找到您要的关键字为止。
● 问题:/ 和 ?查找有和区别?操作实验一下

● 保存文件
● 「w 」 : 在冒号输入字母「 w 」就可以将文件保存起来
● 离开vim

● 「q 」:按「 q 」就是退出,如果无法离开 vim ,可以在「 q 」后跟一个「 ! 」强制离开 vim。
● 「wq 」:一般建议离开时,搭配「 w 」一起使用,这样在退出的时候还可以保存文件。

● 批量化注释命令操作

该操作相对复杂,一共分为5步

● 1.Ctrl+v 进入视图模式

● 2.hjkl,滑动选中范围,支持Shift+g(G)文本全选,n+Shift+g 选中范围选到第n行

● 3.Shift+i 进入插入模式

● 4.//......(输入要批量化的操作)

● 5.Esc

● 其他常用指令

● !command(shell指令):不退出vim,可以在底行进行shell命令的执行,常用做函数查看,比如:!man 3 fflush

●vs filename(文件名):分屏,多文件操作

五、完结撒❀

如果以上内容对你有帮助不妨点赞支持一下,以后还会分享更多编程知识,我们一起进步。

最后我想讲的是,据说点赞的都能找到漂亮女朋友❤

相关推荐
做网站建设制作设计小程序推广26 分钟前
海南网站建设提升网站用户体验实用技巧
经验分享
IT学长编程2 小时前
计算机毕业设计 玩具租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·计算机毕业设计选题·玩具租赁系统
韩楚风2 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学2 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO2 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu72 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我2 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、2 小时前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程2 小时前
Linux中环境变量
linux
m0_689618283 小时前
水凝胶发生器,不对称设计妙,医电应用前景广
笔记