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. python face_recognition安装及各种应用

    1.安装 首先,必须提前安装cmake.numpy.dlib,其中,由于博主所用的python版本是3.6.4(为了防止不兼容,所以用之前的版本),只能安装19.7.0及之前版本的dlib,所以直接p ...

  2. Java多线程-线程关键字(二)

    Java中和线程相关的关键字就两:volatile和synchronized. volatile以前用得较少,以后会用得更少(后面解释).它是一种非常轻量级的同步机制,它的三大特性是: 1.保证可见性 ...

  3. Linux 挂载Windows共享文件夹和NAS存储

    summary: [Linux 挂载共享存储] 概述 将Windows共享文件夹和NAS存储挂载至Linux. Linux系统环境:CentOS 挂载共享存储 查看外部主机共享了哪些目录 smbcli ...

  4. orcle恢复报错:ORA-00392: 日志 2 (用于线程 1) 正被清除, 不允许操作

    遇到问题 RMAN> alter database open resetlogs; RMAN-00571: =========================================== ...

  5. 如何使用zx编写shell脚本

    前言 在这篇文章中,我们将学习谷歌的zx库提供了什么,以及我们如何使用它来用Node.js编写shell脚本.然后,我们将学习如何通过构建一个命令行工具来使用zx的功能,帮助我们为新的Node.js项 ...

  6. QMetaObject::connectSlotsByName: No matching signal for xxx

    问题描述 这个问题是没有与 xxx 这个槽函数匹配的信号,但是我做了 QMetaObject::connectSlotsByName(this);, 自动连接.并且确保了函数名和信号名是没有错误的,还 ...

  7. 关于Wegame页面空白的问题解决

    前言 前几天帮亲戚家装电脑系统,装好后发现 wegame 所有页面都不能正确加载(全部是空白页面),很神奇,在网上找了很多种解决办法都没有效果,后来不过细心的我发现360浏览器一直提示我证书不安全过期 ...

  8. Jmeter中用户定义的变量跟用户参数的区别

    用户定义的变量: 全局变量,可以跨线程组被调用,但是,在启动运行时,获取一次值,在运行过程中,不会再动态获取值.用户参数: 局部变量,只能在自己的线程组中被调用,不能直接跨线程组被调用:但是,它在启动 ...

  9. 螺旋矩阵II-LeetCode59 考验代码能力

    力扣链接:https://leetcode.cn/problems/spiral-matrix-ii/ 题目 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的  ...

  10. 视频超分之BasicVSR-阅读笔记

    1.介绍 对于视频超分提出了很多方法,EDVR中采用了多尺度可变形对齐模块和多个注意层进行对齐和定位并且从不同的帧聚合特征,在RBPN中,多个投影模块用于顺序聚合多个帧中的特征.这样的设计是有效的,但 ...