Gvim基础操作

进行代码或者是文本、脚本都要使用到文本编辑工具。

vi是visual的缩写,其意为可视化。它是Unix系统文本编辑的标准工具。利用光标在屏幕上的移动,用户可以方便的建立、修改或者插入、删除文本,寻找和替换文本,复制、剪切和粘贴文本块。所有的vi编辑程序下的文件均为ASCII文件。

配置Gvim

gvim ~/.vimrc

打开一个文件

gvim xxx.txt    文件不存在就新建

三种工作模式

  1. 命令模式
  2. 输入模式
  3. 底行模式

命令模式

用户进入gvim编辑器的时候,即处于命令模式,输入内容被翻译为命令进行gvim进行编辑。

输入模式--插入模式

可以输入内容

底行模式

以:开始输入命令,进行编辑。

注意:

  1. 输入模式下才能进行输入字符。
  2. 命令模式下进行操作。
  3. 底行模式下,进行保存等。

输入模式进入命令模式使用ESC键

常用操作

移动光标

  • 上下左右键进行移动
  • hjkl键,h左,下j,上k,右l进行移动光标

删除字符

  • x键

删除单词

  • dw--单词停留在第一个字母
  • ndw--删除多个单词

删除行

  • ndd--删除n行
  • u--还原,撤销

退出保存

  • W 保存
  • q 退出
  • :wq 保存并退出
  • q! 强制退出

删除/复制/粘贴

  • x--删除光标所在字符
  • d$--从光标所在位置删除到行尾
  • d^--从光标删到行首
  • dG--删除到最后一行
  • G--跳到行尾
  • gg--跳到行首
  • yw--复制单词
  • p--粘贴
  • y$--复制当前光标到行尾
  • yy--复制一行
  • p--粘贴在光标之后,P粘贴在光标之前
  • r--替换光标所在的字符
  • cl--修改当前所在的字符
  • cc--修改当前单行
  • c$--修改到行尾的内容

    修改命令通常是删除原来的内容,出入新的内容,使用的比较少,因为可以直接删除后再输入。

替换

:%/abc/123/g

  • :%s--表示进行替换
  • /abc/123--表示将abc替换为123
  • /g--表示global,全部进行替换
  • ddp--先进行dd,删除当前所在的行,再执行p,粘贴到下一行

撤销

  • u--undo撤销

帮助

  • help--查看所有的帮助

搜索

  • /string--搜索命令,n是搜索下一个
  • ?string--向前搜索
  • /+上下箭头--显示之前的搜索关键词
  • :+上下箭头--显示之前使用过的命令
  • shift+*--向前查找,类似于n
  • shift+#--反向搜索

文件加密

  • X--文件加密。输入密码,保存退出
  • gvim -x filename 打开密码

设置行号\换行\是否区分大小写

  • :set nu--设置行号
  • :set nonu--不设置行号
  • :set ic--不区分大小写
  • :set ic--区分大小写
  • :set wrap--分行显示
  • :set nowrap--不分行显示
  • :ab string(缩写词) strings(想要用缩写词替换的字符串)--输入string,显示出strings
  • :sort--排序

更改字母大小写

  • :U--选中字母,U--将所有的字母改为大写的,u将所有的字母改为小写字母

新开窗口

  • :sp--横着新开窗口
  • :vsp--竖着新开窗口
  • ctrl+w,查看父目录内容

列模式

  • v--进入visual模式,可以进入列模式,d删除,y复制,p粘贴
  • ctrl+v--在visual模式下,可以竖选,然后可以选中一列,shift+i进入输入模式,输入完成后可以按esc退出

    可以用于在行首添加内容
  • r --可以用于竖选替换,先v再ctrl+V选中列,按r,再输入要替换的内容

替换文本中的文件

  • :%s/s1/s2/g--搜索替换
  • ctrl+v,shifit+i,esc--进行替换操作
  • :5,6 s/s1/s2--在5,6行之间进行替换

查看文件名及文件所在路径

  • :f--查看当前文件名
  • :pwd--查看当前文件目录

进入其他文件

  • gf--当前文件中有其他文件的目录,可以直接gf进入其他文件,其他文件不显示,ctrl+o进行返回
  • ctrl+wf--分屏进行显示

比较两个文件

  • gvimdiff 文件1 文件2--这是在shell中输入的命令,比较两个文件
  • gvim -d 文件1 文件2--比较两个文件

Gvim基础操作-01的更多相关文章

  1. Linux 入门教程:基础操作 01

    1.1 实验内容 实验楼环境介绍 常用 Shell 命令及快捷键 Linux 使用小技巧 1.2 实验知识点 Linux 基本命令 通配符的使用 查看帮助文档 终端的概念 通常我们在使用 Linux ...

  2. Server SQL2008对文件的基础操作—01

    1.一个文件的基本框架为:文件名.文件地址.文件大小.文件最大的大小.文件的增量(Filegrowth). 2.文件有mdf.ndf.ldf 三种文件的区别. 3.文件组可以进行文件的管理 FileG ...

  3. 《Genesis-3D开源游戏引擎-官方录制系列视频教程:基础操作篇》

    注:本系列教程仅针对引擎编辑器:v1.2.2及以下版本 G3D基础操作   第一课<G3D编辑器初探> G3D编辑器介绍,依托于一个复杂场景,讲解了场景视图及其基本操作,属性面板和工具栏的 ...

  4. MYSQL 基础操作

    1.MySQL基础操作 一:MySQL基础操作 1:MySQL表复制 复制表结构 + 复制表数据 create table t3 like t1; --创建一个和t1一样的表,用like(表结构也一样 ...

  5. 【Linux 操作系统】Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用

    . : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ...

  6. numpy 基础操作

    Numpy 基础操作¶ 以numpy的基本数据例子来学习numpy基本数据处理方法 主要内容有: 创建数组 数组维度转换 数据选区和切片 数组数据计算 随机数 数据合并 数据统计计算 In [1]: ...

  7. Windows7系统基础操作

    Windows7系统基础操作 操作系统是人机交互的时候桥梁,一种计算机软件,软件分为:系统软件+应用软件 区别是:系统软件是可以直接安装在硬件上的计算机由硬件和软件两部分组成 操作电脑核心是操作电脑的 ...

  8. MySQL基础操作&&常用的SQL技巧&&SQL语句优化

    基础操作     一:MySQL基础操作         1:MySQL表复制             复制表结构 + 复制表数据             create table t3 like t ...

  9. Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用

    . : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ...

  10. Blender 基础 骨架 01

    Blender 基础 骨架 01 我使用的Blender版本:Blender V 2.77 前言 本讲介绍: 骨架的基本使用方式. 骨架是角色动画里面最常使用的元素,它可以准确控制一个模型的变形,尤其 ...

随机推荐

  1. Vue学习之--------Vue中自定义插件(2022/8/1)

    文章目录 1.插件的基本介绍 2.实际应用 2.1 目录结构 2.2 代码实例 2.2.1 学校组件(School.vue) 2.2.2 学生组件(Student.vue) 2.2.3 定义的插件 2 ...

  2. iOS开发之自定义日历控件

    前言 日常开发中经常会遇到日期选择,为了方便使用,简单封装了一个日历控件,在此抛砖引玉供大家参考. 效果 功能 支持单选.区间 支持默认选中日期 支持限制月份 支持过去.当前.未来模式 支持frame ...

  3. Java多线程(6):锁与AQS(下)

    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 之前说过,AQS(抽象队列同步器)是Java锁机制的底层实现.既然它这么优秀,是骡子是马,就拉出来溜溜吧. 首先用重入锁来实现简单的累加,就像这 ...

  4. 如何在.NET程序崩溃时自动创建Dump?

    今天在浏览张队转载文章的留言时,遇到一个读者问了这样的问题,如下图所示: 首先能明确的一点是"程序崩溃退出了是不能用常规的方式dump的",因为整个进程树都已经退出.现场已经无法使 ...

  5. 微信支付v3接口的 官方 Java SDK

    啰嗦几句:微信支付v3版接口麻烦吗?在对接微信支付v3接口时,本来是一件很简单的事情,其实微信支付v3接口并不是很复杂,但是微信团队的管理很混乱,给我们开发者带来了巨大的麻烦. 微信支付v3版接口对接 ...

  6. Day13 note

    super注意点: 1.super调用父类的构造方法,必须在构造方法的第一行 2.super必须只能出现在子类的方法或者构造方法中 3.super和this不能同时调用构造方法对比this: 1.代表 ...

  7. redis的缓存穿透、击穿、雪崩以及实用解决方案

    今天来聊聊redis的缓存穿透.击穿.雪崩以及解决方案,其中解决方案包括类似于布隆过滤器这种网上一搜一大片但是实际生产部署有一定复杂度的,也有基于spring注解通过一行代码就能解决的,其中各有优劣, ...

  8. php统一的gocheck方法

    这半个月断断续续在学习用PHP的ThinkPHP框架开发后端API.现在总结记录一下开发一个接口需要做好哪些事,以此提高开发效率,并且也有不错的扩展性. 一.流程概要 基本是这么一个流程,略过环境搭建 ...

  9. 对Java Web中WEB-INF目录的理解以及访问方法

    事情发生 在上个暑假第一次写Java web大项目的时候,对于目录管理及分配没有任何经验,就想着清晰明了. 后端servlet是用maven进行构建的,所以在目录上没有碰到什么大问题. 用idea进行 ...

  10. JavaScript笔记之面向对象

    面向对象 了解构造函数原型对象的语法特征,掌握 JavaScript 中面向对象编程的实现方式,基于面向对象编程思想实现 DOM 操作的封装. 了解面向对象编程的一般特征 掌握基于构造函数原型对象的逻 ...