linux中vim的三种模式

2023-11-10

vim的注意事项:

1.编辑文件时
**当文件名称存在,那么进入文件直接编辑
**当文件名称不存在,vim会在退出保存时自动建立文件
**当vim命令后没有跟任何文件名称时,是无法实现“:wq”退出保存的那么可以用
“:wq+空格+文件名”
2.当vim异常退出时,系统会建立.file.swp这个缓存文件,这个文件中保存着没有“:wq”
动作保存的信息。
当用vim对文件做编辑时候会提示
 O          只读打开
  E          直接忽略.file.swap信息编辑文件
  R         利用.file.swap进行为保存数据恢复
  D         删除.file.swap
  Q         退出
  A         终止

例如:

vim有三种模式
一.命令模式
1.vim工作方式设定
命令模式是vim打开文件后默认进入的模式,这个模式不能插入字符,但可以设定vim的工作方式:
vim+空格+/etc/vimrc            进入编辑
:set                                   指定信息
:set    nu                           添加行数
:set     nonu                      减行数
:set    cursorline               添加下划线
:set    mouse=a              
注意:在vim中直接设定vim的工作方式是临时的设定,也就是说当vim关闭,设定失效,
          如果要永久设定需要编写“/etc/vimrc”这个文件也就是vim的配置文件。
2.在命令模式下如何管理字符
按“x”                  删除光标所在字符
按“u”                   undo恢复
按“ctrl+r”            redo撤销恢复
按“y” 复制
例如:“yw”                                 复制一个单词
            "yl"                                  复制一个字母
            "yy"                                 复制一整行
            "y5y"                               复制5行
按“c” 剪切
例如:“cw”                                        剪切一个单词
            "cl"                                         剪切一个字母
             "cc"                                       剪切一整行           
             "c5c"                                     剪切5行
注意:“用c做剪切时,会进入插入模式,如果要粘贴需要退出插入模式按(ESC)在按p”
按“d” 删除
例如:“dw”         删除一个单词
           “dl”          删除一个字母
           "dd"         删除一整行
           "d5d"       删除5行
"p"    粘贴
3.vim的可视化操作
  1.可视化模式的基本操作
在vim中是不能用鼠标选择区域操作的,如果要操作某个区域,需要进入到可视化模式。
在命令模式下 "ctrl + v"  就可以进入到可视模式了,按"上|下|左|右"移动光标选择区域,按相应操
作键就可以对选择区域进行操作。
  2.可视化模式下批量添加字符
    *1.把光标停留在想要加入字符所在的列的第一行
    *2.移动光标选择添加字符所在列
    *3."I"进入插入模式
    *4.写入要插入的字符
    *5.按"ESC"退出插入模式,字符批量添加成功
4.vim的字符替换 
%s/原有字符/新字符/g                  全文替换
1,5s/原有字符/新字符/g               替换1到5行的字符
g                                                     替换出现的所有关键字,如果不加"g"只替换每行出现的第一个
5.vim总字符的查找及光标的移动
   1.字符的查找
    /关键字        
    n                       向下匹配关键字
    N                      向上匹配关键子
例如:


   2.  光标的移动
    :数字                 光标快速移动到指定行
    gg                     光标移动到文件的第一行
    G                       光标移动到文件的最后以行
6.vim同时编辑多个文件
:sp filename
ctrl + w   上           光标进入上边文件窗口
ctrl + w   下           光标进入下边文件窗口
例如:


二.插入模式
"i"                在光标所在位置插入字符
"I"               在光标所在行的行首插入字符
"o"              在光标所在行的下一行新行插入字符
"O"             在光标所在行的上以行新行插入
"s"              删除光标所在字符并插入字符
"S"              删除光标所在行并插入字符
"a"              光标所在字符的下一个字符插入
"A"              光标所在行的行尾插入字符
三.退出模式
:q            当vim进入文件没有对文件内容做任何操作可以按"q"退出

:q!           当vim进入文件对文件内容有操作但不想保存退出

:wq          正常保存退出

:wq!         强行保存退出,只针对与root用户或文件所有人生效







本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux中vim的三种模式 的相关文章

  • 巧用replit搭建免费的个人云服务器

    初识replit 被它的免费托管和域名服务所吸引 replit是个啥 在经过一番尝试后 发现这玩意儿挺有意思 佩服老外的想象力和创新力真强 竟还能搭建个人的云服务器 连域名都有了 这可真香 对个人开发者来说连云服务器都省了 想搭建个人网站或
  • 2021年PHP会被淘汰吗

    首先我可以确定的是 PHP肯定不会被淘汰 但是市场占有率肯定回不去以前的状态 以前PHP可以做网页的任何事 包括前端和接口 但是近几年前端的发展非常迅猛 angular vue和react三大前端框架的相继出现 使得前后端已经彻底分离了 所
  • 名人博客VS 博客名人

    不知从什么时候开始 似乎人人都成了blogger 有用的 没用的 快乐的 悲伤的 都会在自己的博客上贴出来 而那些曾经让我们感觉遥不可及的明星们也开始通过博客传递最新动态甚至爆料隐情 由此便催生了一系列跟博客相关的网络词汇 celeblog
  • Python :删除链表中重复的节点

    牛客网上的剑指 offer的在线编程 题目描述 在一个排序的链表中 存在重复的结点 请删除该链表中重复的结点 重复的结点不保留 返回链表头指针 例如 链表1 gt 2 gt 3 gt 3 gt 4 gt 4 gt 5 处理后为 1 gt 2
  • 前端搭建砸地鼠游戏(内附源码)

    The sand accumulates to form a pagoda 写在前面 功能介绍 页面搭建 样式设置 逻辑部分 完整代码 写在前面 上周我们实通过前端基础实现了打字通 当然很多伙伴再评论区提出了想法 后续我们会考虑实现的 今天
  • Vue+ElementUI中表格嵌套的使用方法

    需求 在开发中会遇到很多表格嵌套表格的使用 一个父级表格通过展开行要打开子级的表格 如果利用官网中的展开行的方式去实现其实是有点困难的 首先实现行展开 这个是用到了elementUI中的一个属性通过设置 type expand 和 Scop
  • WebSocket 协议简介

    一 什么是WebSocket WebSocket是一种在单个TCP连接上进行全双工通讯的协议 WebSocket通信协议于2011年被IETF定为标准RFC 6455 并由RFC7936补充规范 WebSocket API也被W3C定为标准
  • 为什么 Mac 适合编程?

    强劲的 GPU 和 CPU 我的家用电脑和笔记本都配了顶级的显示器和 GPU Steam 上有 2000 游戏 我和孩子玩了很多 并且我对 CUDA 和 深度学习很感兴趣 而 Mac 对此就无能为力了 对我来说 强大的 GPU 是非常重要的
  • 整体结构&InnoDB数据字典(1) --系统表空间结构(三十三)

    前面说了xdes 类型页面 第一页的extent0里面的xdes页面叫做fsp 因为里面还存着表空间的数据file space header 这里面主要存着xdes entry几个链表的基点 和inode entry链表的基点 后面的每个组
  • Crypto

    数据库密码 flag格式moctf 密码 题目如下 20岁的小刚 自幼热爱信息安全 一天他利用SQL注入漏洞入侵了XX公司的数据库 修改了数据库访问密码 网警不久便抓获了小刚 在小刚系统中发现了他做了入侵记录 上面写着一串字符串 D8EA7
  • ompl库安装使用

    参考官网 参考2 官网翻译
  • 期货交易入门知识有哪些?

    期货交易入门知识有哪些 期货初学者基本知识之二 期货交易方式 期货交易使用保证金交易制度 不同期货品种的保证金比例不同 并且同一种期货的保证金比例也是会变化和调整的 因此投资者需要注意自己所投资的期货品种的保证金比例是多少 另外 国内期货交
  • np.argmax()

    np argmax 表示返回索引最大值 需要区分索引和元素值 先说结论 三维张量时 将张量看成正方体 axis 0时表示沿高度轴 深度方向 各元素最大值 返回结果形状与正方体顶面相同 axis 1时表示沿宽度轴 矩阵行方向 各元素最大值 返
  • mysql怎么在一段时间区间内按照周分组,把属于一周的数据汇总在一起以及如何自定义周?

    小编在写需求的时候发现有一个需求是给出一个开始 起止时间 需要你把每一周的数据汇总然后展现出来 比如给了前四周的日期 需要你自动汇总第一周到第四周的数据 奇葩的来了 正常来说周一到周日为一周 或者周日到周六为一周 但是产品需要周六到周五算一
  • IDEA(2021) 创建Java Web项目

    IDEA 2021 创建Java Web项目 开发工具与关键技术 IDEA 2021 配置Tomcat 字符编码UTF 8 和热加载 作者 刘铭聪 撰写时间 2021年4月29日 1 IDEA 2021 创建Java Web项目 1 1 创
  • SolidWorks不能使用选择如允许此选择将生成有冲突的前后关系

    SolidWorks不能使用选择如允许此选择将生成有冲突的前后关系 1 SolidWorks不能使用选择如允许此选择将生成有冲突的前后关系 1 SolidWorks不能使用选择如允许此选择将生成有冲突的前后关系 https www swrj
  • Ubuntu 20.04安装LAMP,并配置sqli-labs靶场

    Ubuntu 20 04安装LAMP 并配置sqli labs靶场 一 安装lamp 安装apache2 安装php 安装mysql 安装libapache2 mod php 安装php mysql 确认安装成功 确认apache2安装成功
  • webpack serve 正常启动但没效果

    安装 webpack dev server npm i webpack dev server d 都是最新版本 配置webpack config js const path require path 导入 node js 中专门操作路径的模
  • 阿里云E-HPC+i4p大内存实例,加速寻因生物单细胞数据分析效率

    寻因生物是一家专注于单细胞技术的生物科技企业 拥有自主研发的微孔芯片与油包水双技术单细胞捕获平台 致力于通过国产高通量单细胞全链条产品及服务 将单细胞技术普适化应用于临床及药物研发 助力相关疾病研究 单细胞测序技术呼唤更高计算性能 自单细胞
  • 时序预测

    时序预测 MATLAB实现BiLSTM时间序列预测 目录 时序预测 MATLAB实现BiLSTM时间序列预测 BiLSTM介绍 BiLSTM实现 单层BiLSTM设计 多层BiLSTM设计 BiLSTM程序 设计案例1 设计案例2 参考资料

随机推荐