首页 > 其他分享 >vim 基础用法

vim 基础用法

时间:2024-11-14 19:42:00浏览次数:1  
标签:基础 模式 用法 复制 内容 粘贴 vim 光标

vim 的基础操作

一、编辑操作

1、输入编辑内容

如果在其它模式下,需要先按 ESC 键,到一般模式,然后点击 i 按键,即可进入到 INSERT 插入模式

2、复制粘贴

1)、从其它地方复制的文本内容,粘贴到文件中(插入模式

直接 vim file ,进入 INSERT 模式后,快捷键进行 ctrl + v 即可进行将文本内容进行粘贴。

2)、从当前文本中复制粘贴选中的部分内容(可视模式

  • ESC 回到普通模式
  • 将光标移动到需要进行复制的文本字符前面,按 v 键(小写为选中对应字符,大写为选中整行) 进入到 VISUAL模式。
  • 移动左右键来选中对应的文本,被选中的内容背景显示为白色。
  • 按下 y 键复制选中的内容,按下 d 剪切选中的内容
  • 将光标移动到需要粘贴的位置,按下 p (小写)将复制的内容粘贴到此处。

3)、从当前文本中复制整行内容并进行粘贴(一般模式

  • 首先按 ESC 回到 一般模式
  • 将光标移动到需要进行复制的行,按下 yy 将复制光标所在的一整行内容。
  • 移动光标到合适的位置,按 p(小写)将内容粘贴到光标的下一行,按 P(大写)将内容粘贴到光标的上一行
  • 【一般模式下选中复制内容操作】:
    • nyy:n 为数字,表示复制光标所在行到向下的 n 行,如 输入 6yy 表示复制从光标所在行往下,一共6行的内容。
    • y1G:复制光标所在的行到第一行的所有内容
    • yG:复制光标所在行到最后一行的所有内容
    • y0:复制光标所在的字符到该行首的所有内容。
    • y$:复制光标所在的字符到改行尾的所有内容。

4)、剪切/删除 当前文本中的内容(一般模式

如果要删除或剪切一些内容,一般是按 d,主要用法如下:

  • dd:默认删除光标所在行的整行内容,此时该内容在粘贴版上,按p可以在需要的地方进行粘贴,否则相当于删除该行 。
  • ndd:n 为数字表示要删除从光标所在行开始往下的 n 行内容。如 6dd表示删除从光标所在行开始往下的6行内容。
  • d1G:删除光标所在行,到第一行的所有内容。
  • dG:删除光标所在行到最后一行的所有内容。
  • d0:删除光标所在位置的字符到该行首的所有内容。
  • d$:删除光标所在位置的字符到该行尾的所有内容。
  • nx:连续向后删除 n 个字符,如 6x表示连续向后删除 6 个字符。

3、撤销与重做(一般模式

  • u:撤销当前的操作,相当于恢复之前的内容
  • ctrl + r:重做上一步。

二、常用的相关操作

1、光标移动操作 (一般模式

  • gg:移动到文件的第一行行首位置
  • G:移动到文件的最后一行
  • nG:n表示数字,如 6G 表示移动到第6行
  • 0:移动到当前行的行首
  • $:移动到当前行的行尾

2、搜索字符内容(一般模式

  • /string:搜索光标以后的所有 string
  • ?string:搜索光标之前的所有 string
  • 匹配之后点击 enter进行搜索,按 n 跳转到下一个,按N跳转到上一个。
  • 命令行模式 下设置搜索结果】:
    • :set hlsearch:高亮显示匹配的结果
    • :set nohlsearch:取消高亮显示
    • :set ignorecase:搜索前,输入该指令,搜索时将忽略大小写
    • :set noignorecase:搜索前,输入该指令,搜索时区分大小写,默认情况下区分大小写

3、替换字符(命令行模式

进入到命令行模式 :,输入如下命令

  • 1,$s/word1/word2/g:从第一行到最后一行搜索 word1字串,并用word2来进行全部替换, g 表示全局替换。
  • m,ns/word1/word2/gm,n表示行数,从mn行之间搜索 word1字串,并用word2来进行全部替换。

4、命令行模式下的常用命令:

  • w:将当前文件保存
  • w!:强制保存
  • e!:丢弃当前做的所有更改,恢复到上一次保存的结果。
  • q:离开vim,如果有编辑且未保存会警告提示。
  • q!:强制离开,且不保存数据。
  • wq:保存数据并离开vim
  • w <fileName>:将当前文件另存为 fileName的文件。
  • m,n w <fileName>:将 m,n行之间的内容保存成新的文件 fileName,包含mn行。
  • !<command>:暂时离开vim,执行临时的命令command,并查看结果。如 vim 正在编辑文件,此时需要临时执行 df -h命令并查看结果,且不想退出vim时,可以在命令行模式下输入指令:!df -h
  • set nu:显示行号
  • set nonu:不显示行号

5、多文档编辑

vim <file1> <file2> 将同时开启编辑多个文件,输入:进入到命令行模式

  • n:跳到下一个文件进行编辑
  • N:跳到上一个文件进行编辑
  • files:列举 vim 开启的所有文档:

标签:基础,模式,用法,复制,内容,粘贴,vim,光标
From: https://www.cnblogs.com/Jeffxu/p/18546653

相关文章

  • 程序员如何入门?零基础入门到精通,收藏这一篇就够了
    以下内容仅供参考建议。做任何事情,最关键的是先入门,所谓的入门,是你进入一家公司,然后开始给人家干活,并且能够提供合格的交付件,这就算入门了。那么做编程到底到了哪个地步才算入门呢?我的目的就是在你一行代码还没写的时候,给一些建议。不管任何企业,厉害的人应该是主动的帮企业......
  • [原创]手把手教学之前端0基础到就业——day11( Javascript )
    文章目录day11(Javascript)01Javascript①Javascript是什么②JavaScript组成③Javascript的书写位置1.行内式(不推荐)2.内部位置使用(内嵌式)3.外部位置使用(外链式)02变量1.什么是变量2.定义变量及赋值3.注意事项4.命名规范03输入和输出1)输出形式1......
  • 23.Python基础篇-模块和包
    模块(Module)模块的定义:模块是包含Python代码的.py文件,可包含变量、函数、类等代码单元。每个Python文件本质上就是一个模块。两种使用方式import与from...import...importmath#导入整个模块frommathimportpi,sqrt#导入模块中的特......
  • 从0搭建一个FIFO模块-01(基础知识)
    1.FIFO介绍基本概念FIFO(FirstIn,FirstOut)是一种常用的数据结构,用于存储和处理数据。它的工作原理与排队的顺序类似,遵循"先进先出"的原则。即,第一个进入FIFO的数据会是第一个被取出的数据。在FPGA设计中,可以使用AM作为FIFO的存储单元,再通过控制逻辑来管理读写操作和指针......
  • C++ 编程基础(5)类与对象 | 5.8、面向对象五大原则
    文章目录一、面向对象五大原则1、单一功能(SingleResponsibilityPrinciple,SRP)2、开放封闭原则(Open/ClosedPrinciple,OCP)3、里氏替换原则(LiskovSubstitutionPrinciple,LSP)4、接口隔离原则(InterfaceSegregationPrinciple,ISP)5、依赖倒置原则(DependencyInversio......
  • C++ 编程基础(5)类与对象 | 5.7、友元
    文章目录一、友元1、友元函数1.1、声明友元函数1.2、友元函数的特性2、友元类2.1、声明友元类2.2、友元类的特性3、使用场景4、注意事项5、总结前言:在C++中,友元类和友元函数是一种特殊的访问控制机制,允许一个类授予另一个类或函数特殊的访问权限。通过使用友元......
  • Linux基础入门2
    建议先看一声明:学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章。本文只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频微信公众号:泷羽sec文件系统权限Linux系统中一切都是文件1.查看权限ls......
  • [Mysql基础] 表的操作
    一、创建表1.1语法CREATETABLEtable_name(field1datatype,field2datatype,field3datatype)characterset字符集collate校验规则engine存储引擎;说明:field表示列名datatype表示列的类型characterset字符集,如果没有指定字符集,则以所在数据库的字......
  • 一文教你用黑客技术 aircrack-ng破解wifi密码!网络安全零基础入门必看教程
    前言这是小强给粉丝盆友们整理的网络安全渗透测试入门阶段无线安全渗透与防御教程喜欢的朋友们,记得给我点赞支持和收藏一下,关注我,学习黑客技术。1.Aircrack-ng简介Aircrack-NG是一个完整的工具来评估Wi-Fi网络安全套件。捕获:airodump-ng:用于捕获无线网络数据包;攻......
  • 黑客技术渗透测试零基础入门教程—一文讲清什么是内网渗透!
    前言这是晓晓给粉丝盆友们整理的网络安全渗透测试入门阶段内网渗透与防御教程喜欢的朋友们,记得给我点赞支持和收藏一下,关注我,学习黑客技术。一.什么是内网渗透内网渗透是指攻击者已经进入了目标系统的内部网络,通过侧信道攻击、横向渗透等方式进一步控制系统,获取敏感信息......