Gvim基础操作-01
Gvim基础操作
进行代码或者是文本、脚本都要使用到文本编辑工具。
vi是visual的缩写,其意为可视化。它是Unix系统文本编辑的标准工具。利用光标在屏幕上的移动,用户可以方便的建立、修改或者插入、删除文本,寻找和替换文本,复制、剪切和粘贴文本块。所有的vi编辑程序下的文件均为ASCII文件。
配置Gvim
gvim ~/.vimrc
打开一个文件
gvim xxx.txt 文件不存在就新建
三种工作模式
- 命令模式
- 输入模式
- 底行模式
命令模式
用户进入gvim编辑器的时候,即处于命令模式,输入内容被翻译为命令进行gvim进行编辑。
输入模式--插入模式
可以输入内容
底行模式
以:开始输入命令,进行编辑。
注意:
- 输入模式下才能进行输入字符。
- 命令模式下进行操作。
- 底行模式下,进行保存等。
输入模式进入命令模式使用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的更多相关文章
- Linux 入门教程:基础操作 01
1.1 实验内容 实验楼环境介绍 常用 Shell 命令及快捷键 Linux 使用小技巧 1.2 实验知识点 Linux 基本命令 通配符的使用 查看帮助文档 终端的概念 通常我们在使用 Linux ...
- Server SQL2008对文件的基础操作—01
1.一个文件的基本框架为:文件名.文件地址.文件大小.文件最大的大小.文件的增量(Filegrowth). 2.文件有mdf.ndf.ldf 三种文件的区别. 3.文件组可以进行文件的管理 FileG ...
- 《Genesis-3D开源游戏引擎-官方录制系列视频教程:基础操作篇》
注:本系列教程仅针对引擎编辑器:v1.2.2及以下版本 G3D基础操作 第一课<G3D编辑器初探> G3D编辑器介绍,依托于一个复杂场景,讲解了场景视图及其基本操作,属性面板和工具栏的 ...
- MYSQL 基础操作
1.MySQL基础操作 一:MySQL基础操作 1:MySQL表复制 复制表结构 + 复制表数据 create table t3 like t1; --创建一个和t1一样的表,用like(表结构也一样 ...
- 【Linux 操作系统】Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
. : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ...
- numpy 基础操作
Numpy 基础操作¶ 以numpy的基本数据例子来学习numpy基本数据处理方法 主要内容有: 创建数组 数组维度转换 数据选区和切片 数组数据计算 随机数 数据合并 数据统计计算 In [1]: ...
- Windows7系统基础操作
Windows7系统基础操作 操作系统是人机交互的时候桥梁,一种计算机软件,软件分为:系统软件+应用软件 区别是:系统软件是可以直接安装在硬件上的计算机由硬件和软件两部分组成 操作电脑核心是操作电脑的 ...
- MySQL基础操作&&常用的SQL技巧&&SQL语句优化
基础操作 一:MySQL基础操作 1:MySQL表复制 复制表结构 + 复制表数据 create table t3 like t ...
- Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
. : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ...
- Blender 基础 骨架 01
Blender 基础 骨架 01 我使用的Blender版本:Blender V 2.77 前言 本讲介绍: 骨架的基本使用方式. 骨架是角色动画里面最常使用的元素,它可以准确控制一个模型的变形,尤其 ...
随机推荐
- 利用inotify和rsync服务实现数据实时同步
文件定时同步的实现: 利用rsync结合cron计划任务实现: rsync -av --delete /data/ 10.0.0.12:/back -a:保留文件属性 -v:显示过程 -delete: ...
- 三、Kubernetes调度
一.Kubernetes调度 Scheduler 是 kubernetes 的调度器,主要的任务是把定义的 pod 分配到集群的节点上.听起来非常简单,但有很多要考虑的问题: 公平:如何保证每个节点都 ...
- GIT入门与Gitee的使用
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 工作原理 / 流程: Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remo ...
- Kubeadm部署Kubernetes
Kubeadm部署Kubernetes 1.环境准备 主机名 IP 说明 宿主机系统 k8s-master 10.0.0.101 Kubernetes集群的master节点 Ubuntu2004 k8 ...
- 死磕Java面试系列:深拷贝与浅拷贝的实现原理
深拷贝与浅拷贝的问题,也是面试中的常客.虽然大家都知道两者表现形式不同点在哪里,但是很少去深究其底层原理,也不知道怎么才能优雅的实现一个深拷贝.其实工作中也常常需要实现深拷贝,今天一灯就带大家一块深入 ...
- Jenkins发版通知企业微信机器人
1)开始通知 在Jenkins发版过程的第一步添加下面内容,调用下面脚本实现机器人发版通知(注意脚本路径和传参) ${BUILD_USER}是Jenkins内置变量,执行发布的用户名,需要安装插件-B ...
- 决策树(二):后剪枝,连续值处理,数据加载器:DataLoader和模型评估
在上一篇文章中,我们实现了树的构造,在下面的内容中,我们将中心放在以下几个方面 1.剪枝 2.连续值处理 3.数据加载器:DataLoader 4.模型评估 一,后剪枝 • 为什么剪枝 –" ...
- 关于CSDN博客上传图片的接口研究
代码实现 import requests from requests_toolbelt import MultipartEncoder import urllib.parse fields = { ' ...
- vue3 第二天vue响应式原理以及ref和reactive区别
前言: 前天我们学了 ref 和 reactive ,提到了响应式数据和 Proxy ,那我们今天就来了解一下,vue3 的响应式 在了解之前,先复习一下之前 vue2 的响应式原理 vue2 的响应 ...
- JavaEE Day05 JDBC(用Java语言操作数据库)
今日内容 基本概念 快速入门 对JDBC中各个接口和类的详解 一.基本概念 1.概念:Java Database Connectivity:Java数据库连接,Java语言操作数据库 2.本质:官方( ...