来,让我们一起来学习VIM
什么是VIM
vim是一个高度可定制的文本编辑器,被很多专业的程序员使用,并获得了程序员的一致好评。
下图是Vim的官网vim.org
你可以在Vim的官网免费下载并使用Vim,同样可以在Vim官网学习你所需要的Vim使用技巧。
VIM的打开和保存关闭
你可以在Vim官网下载windows下可用的VIM二进制程序,安装之后,双击VIM的图标即可打开VIM编辑器。
当然,如果是在Linux下,你可以使用你Linux发行版的包管理工具进行安装VIM,之后在shell环境下,输入VIM命令即可打开VIM。
当然,你也可以输入VIM+filename命令来打开filename文件,如果filename文件不存在,则会创建它。
当你编辑完成之后,你可以输入一下命令来退出。
:n 此时输入的n为你想要跳转的行号
:q 退出VIM,前提是你已经保存过了
:wq 保存并退出VIM
:q! 强制退出,即不保存退出
VIM的三种模式
普通模式输入VIM进入VIM后就是普通模式,也就是一般模式,不是正在输入时候的模式。
插入模式进入插入模式后才能进行输入字符或插入代码。
命令模式当你需要执行跳转、替换字符串、保存退出等操作时需要进入的是命令模式。
比如:你在shell环境下输入了VIM hello.txt回车,这时便是进入了普通模式,你按下i/I/a/A/o/O后便进入了插入模式,你写好代码后按下了ESC键此时又回到了普通模式,然后你按下shift+:输入了冒号,此时你便进入了命令模式,你输入了wq并回车,你便编辑保存 并退出了VIM。一个工作流程结束。
进入插入模式的说明
命令 | 说明 |
---|---|
i | 当前光标后插入 |
I | 当前行首插入 |
a | 当前光标前插入 |
A | 当前行尾插入 |
o | 开新行置下插入 |
O | 开新行置上插入 |
移动 | h左移 J下移 k上移 L右移 |
VIM的操作技巧
在VIM中执行命令,应当以可持续使用为主,比如你要删除两个单词。你可以使用cw./c2w/2cw等,但是使用cw.会更好,因为如果你后续还需要删除单词,只需要再次输入.即可,而其他方式则有了次数限制,不能持续使用。
当在普通模式下时:
命令 | 说明 | 命令 | 说明 |
---|---|---|---|
dl | 删除一个字符 | dd | 删除整行 |
daw | 删除一个单词 | ||
d2w | 删除两个单词 | 2dw | 执行两次删除一个单词 |
.(点) | 重复上次的命令 | u | 撤销上次命令 |
当在插入模式下时:
命令 | 说明 |
---|---|
<C-h> | 删除前一个字符(同退格) |
<C-w> | 删除前一个单词 |
<C-u> | 删至行首 |
<ESC> | 切换到普通模式 |
<C-[> | 切换到普通模式 |
<C-o> | 切换到插入-普通模式 |
说明:插入-普通模式是指可以执行一次普通命令,然后就返回插入模式的模式。
来,让我们一起来学习VIM的更多相关文章
- 跟我一起学习VIM
跟我一起学习VIM - The Life Changing Editor 前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程.虽然准备有限,但分享过程中大家大多带着一种惊叹 ...
- 7张图片学习VIM教程
7张图片学习VIM教程 张图片设置为桌面背景,时不时的能看上一眼.慢慢就学会VIM了. VIM lesson 1 VIM lesson 2 VIM lesson 3 VIM lesson 4 VIM ...
- 学习vim命令:“:w !sudo tee %”
学习vim命令:“:w !sudo tee %” Original URL:http://www.haw-haw.org/node/1501 原文来自于commandlinefu 原文是这样解释这个命 ...
- 跟我一起学习VIM - The Life Changing Editor
前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程.虽然准备有限,但分享过程中大家大多带着一种惊叹的表情,原来编辑器可以这样强大,这算是对我多年来使用VIM的最大鼓舞吧.所以分 ...
- 新手学习 Vim 的五个技巧
多年来,我一直想学 Vim.如今 Vim 是我最喜欢的 Linux 文本编辑器,也是开发者和系统管理者最喜爱的开源工具.我说的学习,指的是真正意义上的学习.想要精通确实很难,所以我只想要达到熟练的水平 ...
- 【转载】跟我一起学习VIM - vim插件
目录 写在前面:Life Changing Editor 什么是VIM 为什么选VIM 为什么选其它 为什么犹豫选择它们 VIM >= SUM(现代编辑器) 如何学习VIM 一秒钟变记事本 VI ...
- (转载)跟我一起学习VIM - The Life Changing Editor
原文: http://ju.outofmemory.cn/entry/79671 前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程.虽然准备有限,但分享过程中大家大多带着一种 ...
- ubuntu中启动VIM,以及学习VIM
启动VIM:首先打开终端,然后输入vi回车,然后输入i或者a,进入. 学习VIM:首先打开终端,然后输入vimtutor回车,然后进入教程学习.
- 跟我一起学习VIM - vim插件合集
2016-06-14 15:04 13333人阅读 评论(0) 收藏 举报 分类: Linux(104) 目录(?)[+] 前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教 ...
- 一步一步学习Vim 全图解释
转载:http://linux.chinaunix.net/techdoc/desktop/2009/01/03/1056322.shtml 一步一步学习Vim 全图解释 以下注释,根据图示和自己实践 ...
随机推荐
- ggplot之多变量绘图
1. 普通plot 准备数据. x<-seq(0,2*pi,0.05) y<-sin(x) z<-cos(x) data<-data.frame(x,y,z) plot: pl ...
- vector的初始化方式及用法笔记(不断更新)
vector的初始化方式 1)第一种,类似于数组的方式:vector<string> letter(3);letter[0] = "find";letter[1] = ...
- 吐血干货,直播首屏耗时400ms以下的优化实践
导读: 直播行业的竞争越来越激烈,进过18年这波洗牌后,已经度过了蛮荒暴力期,剩下的都是在不断追求体验.最近在帮做直播优化首开,通过多种方案并行,把首开降到500ms以下,希望能对大家有借鉴. 背景: ...
- vue基础----组件通信(props,$emit,$attrs,$listeners)
一.父传子,子传孙 1. props 1>在父组件中通过子组件自定义的标签属性来传递数据. 2>在子组件中通过props声明希望用到的数据 <body> <div id= ...
- ASP.net 简单ajax实现
<script type="text/javascript"> $(function () { var t=$("txt1").val(); $.a ...
- 【Python】Pyinstall打包不同尺寸ico制作
前言 最近工作之余在学习python,用Pyinstall打包exe的时候发现图标只能在任务栏或者大图的情况下出现,其他情况还是默认图标,,,!!!∑(゚Д゚ノ)ノ 分析 查资料是因为exe在不同情况 ...
- [POI2017]bzoj4726 Sadota?
题目描述 离线题库请 题目描述 某个公司有\(n\)个人, 上下级关系构成了一个有根树.其中有个人是叛徒(这个人不知道是谁).对于一个人, 如果他 下属(直接或者间接, 不包括他自己)中叛徒占的比例超 ...
- 基于.NetCore3.1搭建项目系列 —— 使用Swagger做Api文档 (上篇)
前言 为什么在开发中,接口文档越来越成为前后端开发人员沟通的枢纽呢? 随着业务的发张,项目越来越多,而对于支撑整个项目架构体系而言,我们对系统业务的水平拆分,垂直分层,让业务系统更加清晰,从而产生一系 ...
- Javascript十六种常用设计模式
单例模式 何为单例模式,就是无论执行多少次函数,都只会生成一个对象哈哈,看一个简单的demo function Instance(name) { this.name = name; } Instanc ...
- Linux下安装MySQL的tar.gz包
以root用户登录待安装的服务器. 上传软件包并解压. 以root用户通过sftp/ftp工具上传“mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz”软件包到“/o ...