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

linux下的工具---vim

一、了解vim

1、vim是linux的开发工具

2、vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows
3、Linux下进行编程是需要使用独立的开发工具的,vim就是不错的工具

二、vim的基本概念

我们需要掌握的是vim的三种模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。

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

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

2、插入模式(Insert mode)

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

3、末行模式(last line mode)

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

 

三、vim的常见操作

注意: 下面介绍的指令,大多数都是在命令模式下执行的,部分指令是在底行模式下进行,会有特别说明的,比如第一条指令 set nu 设置行号

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

特别注意:进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文字。
 

2、正常模式切换至插入模式

        输入a
        输入i
        输入o

3、[插入模式]切换至[正常模式]

目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。

4、[正常模式]切换至[末行模式]

「shift + ;」, 其实就是输入「:」

5、退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」,例如
: w (保存当前文件)
: wq (输入「wq」,存盘并退出vim)
: q! (输入q!,不存盘强制退出vim)

四、vim正常模式命令集

行操作:

1.删除
删除当前光标所在行内容:dd
从当前光标行开始,删除n行:ndd

2.撤销
撤销上一步的操作:u
反撤销:ctrl+r

3.替换式写入
shift r进入replace模式,即原代码不用删除直接覆盖式写入

光标定位:

将光标定位到文件的最开始:gg
将光标定位到文件的最结尾:shift + gg
将光标定位到文件的任意一行:n,shift+g

将光标定位到当前行的最结尾(锚点):shift+$
将光标定位到当前行的最开始(锚点):shift+^

按照单词进行前移:b
按照n个单词进行前移:nb

按照单词进行后移:w
按照n个单词进行后移:nw

删除光标所在行的文本内容,从左至右每次删除1个单字符:x
删除光标所在行的文本内容,从右至左每次删除1个字符:shift + x

对字母进行进行大小写转换:shift + ~
对n字母进行进行大小写转换:n,shift + ~

光标的上下左右移动:方向键或者h(左),l(右),k(上),j(下)

删除文字:

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

复制

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

替换:
「r」:替换光标所在处的字符。

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

批量注释:

批量去注释:

       

五、vim末行模式命令集

文本查找:/+查找文本,按n选择下一个
文本查找:?+查找文本,按n选择上一个

行号建立:set + nu
行号取消: set + nonu

保存写入文件:w
强制写入文件:w!
退出文件:q
强制退出:q!

跨文件操作:vs + 文件名
切换文件窗口:ctrl + w + h/l

 


http://www.kler.cn/a/146989.html

相关文章:

  • 学习threejs,使用AnimationMixer实现变形动画
  • workerman的安装与使用
  • 7.揭秘C语言输入输出内幕:printf与scanf的深度剖析
  • 树的直径计算:算法详解与实现
  • 树莓派镜像 DIY 制作
  • 使用Web Animations API实现复杂的网页动画效果
  • 深度学习之图像分类(十四)CAT: Cross Attention in Vision Transformer详解
  • 测试数据随机,给2n个点,求所有偏移量,使得每两个点成为一个匹配
  • Wireshark的捕获过滤器
  • Unity之NetCode多人网络游戏联机对战教程(10)--玩家动画同步
  • LabVIEW当鼠标悬停在图形曲线上时显示坐标
  • 蓝桥杯每日一题2023.11.26
  • 一个C++ string使用问题的分析及解决
  • Junos webauth_operation.php 文件上传漏洞复现(CVE-2023-36844)
  • yolov5检测(前向)输入视频输出(不在图上画标签形式的原)图片的方法,及设置每隔几帧保存的方式(不每帧保存减少重复)
  • HCIA-RS基础-RIP路由协议
  • 如何将mobi、awz3、epub格式转化为pdf
  • 一体化污水处理设备各种材质的优缺点
  • 排序篇(六)----排序小结(不用三连,混流量券)
  • 五、双向NAT
  • SAP创建ODATA服务-Structure
  • 什么是面向对象编程及面向过程编程,它们的异同和优缺点
  • 快速开发出一个公司网站
  • ES开启安全认证
  • 初识前后端数据交互(新手篇)
  • Nginx如何配置负载均衡