热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vi使用进阶

以下命令均在vi命令模式有效h光标左移一个字符l光标右移一个字符j光标下移一行k光标上移一行一.对整行操作1.复制光标所在行yy2.删除光标所在行dd

以下命令均在vi命令模式有效

h 光标左移一个字符
l 光标右移一个字符
j 光标下移一行
k 光标上移一行

一.对整行操作
1.复制光标所在行 yy
2.删除光标所在行 dd

3.选中光标所在行 shift + v
结合j k选取多行

4.复制选中内容 y

5.粘贴选中内容 p(向光标所在行的下一行粘贴)
shift + p(向光标所在行的上一行粘贴)

数字 + p 指定粘贴次数

6.剪切选中内容 x
可当退格键使用,删除光标处字符

7.撤销上次操作 u
恢复上次操作 ctrl + r


作业:大家自己写一个hello.c的程序
hello.c
#include
int main()
{
 printf("hello world\n");
 return 0;
}

要求:1、选中printf所在函数,利用shift + p 命令,连续复制十行。
   3、在第8行的时候,利用x命令把hello给去掉,
   4、在第10行的时候,利用x命令删除world,利用ctrl + r,恢复,但是只恢复worl。
   5、运行程序观察打印信息。
  
运行程序的过程:gcc hello.o---->默认会生成一个a.out可执行文件
         ./a.out---->观察结果。

二.对单词操作
8.选取几个字符 v 结合h l选择

9.粘贴选中内容 p(向光标所在行的下一字符开始粘贴)
shift + p(向光标所在行的上一字符开始粘贴)

ctrl + v 结合h j k l可选择一整块

10.替换单个字符 r+要替换字符
11.替换多个字符 R+要替换字符 Esc结束替换

12.查找字符串
/向下查找字符串
?向上查找字符串
*查找当前光标处单词

n下一个匹配的字符串
N上一个匹配的字符串
取消高亮 :nohls

13.替换字符串
:m,n s/oldstring/newstring/g
:.,$ s/oldstring/newstring/g
:%s/oldstring/newstring/g

m,n 指定替换从m行到n行
. 表示光标当前行
$ 表示文件最后
g 替换所有找到字符串,若无g则只替换每行找到的第一个字符串

% 表示所有的行


14.定位到某行
:行号
行号G


terminal 快捷键
15.另开一个终端 ctrl + shift + n
16.当前终端再开一个tab ctrl + shift + t

 

vi使用进阶


推荐阅读
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • JavaSE For循环入门示例
    本文将介绍Java中For循环的基本概念和使用方法,通过几个简单的示例帮助初学者更好地理解和掌握For循环。 ... [详细]
  • 本文介绍了如何使用Postman构建和发送HTTP请求,包括四个主要部分:方法(Method)、URL、头部(Headers)和主体(Body)。特别强调了Body部分的重要性,并详细说明了不同类型的请求体。 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • 如何解决TS1219:实验性装饰器功能可能在未来版本中更改的问题
    本文介绍了两种方法来解决TS1219错误:通过VSCode设置启用实验性装饰器,或在项目根目录下创建配置文件(jsconfig.json或tsconfig.json)。 ... [详细]
  • 本文介绍了Java编程语言的基础知识,包括其历史背景、主要特性以及如何安装和配置JDK。此外,还详细讲解了如何编写和运行第一个Java程序,并简要介绍了Eclipse集成开发环境的安装和使用。 ... [详细]
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • 2017年5月9日学习总结
    本文记录了2017年5月9日的学习内容,包括技术分享和相关知识点的深入探讨。 ... [详细]
  • 经过一年的思考,我发现自己对开发的兴趣并不浓厚,而对算法研究则更加热衷。本文将探讨开发与算法之间的本质差异,并分享我的未来学习计划。 ... [详细]
  • Bootstrap 缩略图展示示例
    本文将展示如何使用 Bootstrap 实现缩略图效果,并提供详细的代码示例。 ... [详细]
  • 本文介绍了一种支付平台异步风控系统的架构模型,旨在为开发类似系统的工程师提供参考。 ... [详细]
  • 使用 Git Rebase -i 合并多个提交
    在开发过程中,频繁的小改动往往会生成多个提交记录。为了保持代码仓库的整洁,我们可以使用 git rebase -i 命令将多个提交合并成一个。 ... [详细]
  • Manacher算法详解:寻找最长回文子串
    本文将详细介绍Manacher算法,该算法用于高效地找到字符串中的最长回文子串。通过在字符间插入特殊符号,Manacher算法能够同时处理奇数和偶数长度的回文子串问题。 ... [详细]
  • 本文详细介绍了Linux系统中用于管理IPC(Inter-Process Communication)资源的两个重要命令:ipcs和ipcrm。通过这些命令,用户可以查看和删除系统中的消息队列、共享内存和信号量。 ... [详细]
author-avatar
看看2502895567
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有