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

vi vim 快速跳到文件末尾 GA 在最后一行下方新增一行 (光标换行,文字不换行) GO

vim 快速跳到文件末尾 在最后一行下方新增一行

移到末尾,并且进入文本录入模式 GA

在一般模式(刚进入的模式,esc模式)
Gshift+g 到最后一行
然后 A shift+a 到本行末尾 并且进入文本录入模式

在最后一行下方新增一行 (光标换行,文字不换行) GO

在一般模式(刚进入的模式,esc模式)
Gshift+g 到最后一行
然后 小写o 在该行下方新增一行

目录

  • vim 快速跳到文件末尾 在最后一行下方新增一行
    • 移到末尾,并且进入文本录入模式 `GA`
    • 在最后一行下方新增一行 (光标换行,文字不换行) `GO`
    • vi的多种工作模式
    • 移到末尾,并且进入文本录入模式
    • 在最后一行下方新增一行 (光标换行,文字不换行)
    • 扩展知识
      • 光标快速移动
        • 首行尾行
        • 行首行尾
      • 新增行, 并进入文字录入模式
      • 复制剪切粘贴
        • 复制
        • 剪切(删除)
        • 删除,并进入文字插入模式
        • 可视化选择复制或剪切
        • 粘贴
      • 撤销重做
      • 查找替换
          • 查找
        • 替换
          • 限制在可视的选定区域进行替换
      • 保存退出
      • 行号
      • 其它
      • 动作后会进入文字输入模式
        • 进入文字输入插入模式 INSERT模式
        • 进入文字输入覆盖模式 REPLACE模式

vi的多种工作模式

  1. 一般模式,刚进入vi的模式, esc模式,我觉得可叫快捷键模式(按键模式), 按esc的模式
  2. 文本输入模式(a , A , i , I , o , O , s , S ,C进入插入模式 R进入覆盖模式)
  3. 底部命令行模式(冒号:开头,/开头,?开头)
  4. 连续字符串选择可视模式(v)
  5. 块选择可是模式(ctrl+v)

移到末尾,并且进入文本录入模式

在一般模式(刚进入的模式,esc模式)
Gshift+g 到最后一行
然后 A shift+a 到本行末尾 并且进入文本录入模式

在最后一行下方新增一行 (光标换行,文字不换行)

在一般模式(刚进入的模式,esc模式)
Gshift+g 到最后一行
然后 小写o 在该行下方新增一行




扩展知识

vi vim 键盘图

光标快速移动

首行尾行

到最后行是在 esc模式下 键盘大写时按G键 或 小写时按shift+g
到第一行是按两次小写g gg 或者 输入:0:1

  • gg:0:1 --------首行
  • G ----------------------尾行
    888G888gg:888 到第888行或尾行

H屏首   M屏中   L屏尾

行首行尾

  • Ashift+a 移动到行尾,并进入文本录入模式
  • $ 移动到行末尾
  • 0 移动到行首 (零)
  • ^ 移动到本行第一个字符

新增行, 并进入文字录入模式

  • 在当前行下方新增一行并进入编辑模式, 用 o 小写
  • 在当前行上方新增一行并进入编辑模式, 用 O 大写

复制剪切粘贴

复制

3yhy3h光标前三字符   3yly3l光标及后两字符
yy 本行   y0行首到光标   y^本行第一个字符到光标   y$光标到行尾
3yyy3y 本行和下两行
yw 光标 至 空格后出现字符

剪切(删除)

剪切的d语法如同复制的y语法
3dhd3h光标前三字符   3dld3l光标及后两字符
dd 本行   d0行首到光标   d^本行第一个字符到光标   d$光标到行尾
3ddd3d 本行和下两行

x 剪切光标字符
X 剪切光标前一个字符

删除,并进入文字插入模式

C 光标到行末
3chc3h光标前三字符   3clc3l光标及后两字符
cc 本行   c0行首到光标   c^本行第一个字符到光标   c$光标到行尾
3ccc3c 本行和下两行

可视化选择复制或剪切

先将鼠标移到想要的开始位置,然后按v
然后就可以通过 上下左右 像鼠标按住左键那样选择
选好区域后按y复制,按d剪切

粘贴

p 粘贴到光标后
P 粘贴到光标前



撤销重做

u撤销
ctrl+r 重做



查找替换

查找

支持正则表达式
/pattern 向下查找pattern的匹配
?pattern 向上
n 下一个
N 上一个

替换

:s/a/b 本行第一个a变b
:s/a/b/g 本行所有a变b
:%s/a/b 所有行第一个a变b
:%s/a/b/g 所有行所有a变b , 整个文档的a变b

限制在可视的选定区域进行替换

用光标确定起始点, 然后v进入连续字符串选择, 或ctrl+v进入块选择
按冒号: , 底部出现 :'<,'>
:'<,'>后追加s/pattern/content/g 变成 :'<,'>s/pattern/conten/g
回车就能将pattern匹配到的内容替换



保存退出

:w----------------保存
:q----------------退出
:q! --------------强制退出
:wqZZ— 保存退出
:wq!------------ 强制保存退出



行号

:set nu 显示行号 :set nonu 关闭行号



其它

. 重复上一个动作 (点)
n空格键 光标移到n个字符后
n回车键 光标下移n行



动作后会进入文字输入模式

进入文字输入插入模式 INSERT模式

i 光标前插入
a 光标后插入
I 光标移到本行第一个字符后开始插入
O 光标上方插入一行
o 光标下方插入一行
S 删除本行
s 删除光标字符
C 删除光标到行尾
c 小c操作语法类似dy , 作用是删除, 如同d, 只是执行后会进入文字输入插入模式
3chc3h光标前三字符   3clc3l光标及后两字符
cc 本行   c0行首到光标   c^本行第一个字符到光标   c$光标到行尾
3ccc3c 本行和下两行
R进入覆盖模式,然后按键盘insert按键

进入文字输入覆盖模式 REPLACE模式

在插入模式下按insert按键
R 直接进入覆盖模式 (小写r接字符只替换光标处一个字符,替换后依旧在一般模式)

相关文章:

  • 【python初级】windows系统安装Anaconda3
  • windows下安装Mongodb
  • 计算机毕业设计ssm企业员工信息管理系统677du系统+程序+源码+lw+远程部署
  • 计算机毕业设计ssm汽车租赁管理系统n5s69系统+程序+源码+lw+远程部署
  • 什么是伪共享?Java8如何使用@sun.misc.Contended避免伪共享?
  • 9月1日目标检测学习笔记——文本检测
  • Android中Spi机制的使用及源码原理解析
  • 风控模型黑箱可解释,试下这个方法来演示
  • Shader Graph的用法初探
  • unity core-prefab
  • rollup常用插件详解
  • 基于Solidworks的三维光路结构示意图绘制实例演示-技术细节
  • Day726.Java平台模块系统 -Java8后最重要新特性
  • 虚机的部分磁盘空间被谁吃了?
  • leetcode88. 合并两个有序数组
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 03Go 类型总结
  • 2019年如何成为全栈工程师?
  • Apache Pulsar 2.1 重磅发布
  • Create React App 使用
  • idea + plantuml 画流程图
  • Redis的resp协议
  • windows-nginx-https-本地配置
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 回顾2016
  • 离散点最小(凸)包围边界查找
  • 前端面试总结(at, md)
  • 无服务器化是企业 IT 架构的未来吗?
  • 以太坊客户端Geth命令参数详解
  • Linux权限管理(week1_day5)--技术流ken
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • #1014 : Trie树
  • #13 yum、编译安装与sed命令的使用
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (七)理解angular中的module和injector,即依赖注入
  • (十六)一篇文章学会Java的常用API
  • (十一)手动添加用户和文件的特殊权限
  • (译)计算距离、方位和更多经纬度之间的点
  • (转) 深度模型优化性能 调参
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)winform之ListView
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .NET MVC第五章、模型绑定获取表单数据
  • .net 发送邮件
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .NET 中的轻量级线程安全
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .net操作Excel出错解决
  • .NET成年了,然后呢?
  • .net中我喜欢的两种验证码
  • [<死锁专题>]