什么是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的更多相关文章

  1. 跟我一起学习VIM

    跟我一起学习VIM - The Life Changing Editor   前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程.虽然准备有限,但分享过程中大家大多带着一种惊叹 ...

  2. 7张图片学习VIM教程

    7张图片学习VIM教程 张图片设置为桌面背景,时不时的能看上一眼.慢慢就学会VIM了. VIM lesson 1 VIM lesson 2 VIM lesson 3 VIM lesson 4 VIM ...

  3. 学习vim命令:“:w !sudo tee %”

    学习vim命令:“:w !sudo tee %” Original URL:http://www.haw-haw.org/node/1501 原文来自于commandlinefu 原文是这样解释这个命 ...

  4. 跟我一起学习VIM - The Life Changing Editor

    前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程.虽然准备有限,但分享过程中大家大多带着一种惊叹的表情,原来编辑器可以这样强大,这算是对我多年来使用VIM的最大鼓舞吧.所以分 ...

  5. 新手学习 Vim 的五个技巧

    多年来,我一直想学 Vim.如今 Vim 是我最喜欢的 Linux 文本编辑器,也是开发者和系统管理者最喜爱的开源工具.我说的学习,指的是真正意义上的学习.想要精通确实很难,所以我只想要达到熟练的水平 ...

  6. 【转载】跟我一起学习VIM - vim插件

    目录 写在前面:Life Changing Editor 什么是VIM 为什么选VIM 为什么选其它 为什么犹豫选择它们 VIM >= SUM(现代编辑器) 如何学习VIM 一秒钟变记事本 VI ...

  7. (转载)跟我一起学习VIM - The Life Changing Editor

    原文: http://ju.outofmemory.cn/entry/79671 前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程.虽然准备有限,但分享过程中大家大多带着一种 ...

  8. ubuntu中启动VIM,以及学习VIM

    启动VIM:首先打开终端,然后输入vi回车,然后输入i或者a,进入. 学习VIM:首先打开终端,然后输入vimtutor回车,然后进入教程学习.

  9. 跟我一起学习VIM - vim插件合集

    2016-06-14 15:04 13333人阅读 评论(0) 收藏 举报 分类: Linux(104)  目录(?)[+]  前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教 ...

  10. 一步一步学习Vim 全图解释

    转载:http://linux.chinaunix.net/techdoc/desktop/2009/01/03/1056322.shtml 一步一步学习Vim 全图解释 以下注释,根据图示和自己实践 ...

随机推荐

  1. Flutter json 2 model with Built Value

    Flutter json 2 model with Built Value Flutter中json转换model, 除了手动转之外, 就是利用第三方库做一些代码生成. 流行的库有: json_ser ...

  2. MongoDB复制集概念架构浅析

    一.复制集的作用 (1) 高可用 防止设备(服务器.网络)故障. 提供自动failover 功能. 技术来保证数 (2) 灾难恢复 当发生故障时,可以从其他节点恢复. (3) 功能隔离 用于分析.报表 ...

  3. Simulink仿真入门到精通(四) Simulink子系统

    4.1 Simulink子系统详解 4.1.1 子系统概述 Simulink根据仿真特性将模块的属性分为两种:虚拟模块和非虚拟模块. 非虚拟模块在仿真过程中起到实际的作用,对其进行编辑或者增加删除操作 ...

  4. 如何快速高效率地学习Go语言

    要想快速高效率地掌握Go语言,关键是要通过不断写代码去训练,熟能生巧.方法是没问题的,但具体的路径呢?就像开车,能不能给个导航?我希望这篇文章能起到一个导航的作用,这里提供的路径,应该对很多人都适合. ...

  5. (转)解决windows live writer的段首缩进问题

    原文地址:http://blog.csdn.net/xiao_wanpeng/article/details/6381799 Windows live writer 默认是没有段首缩进的,并且不能修改 ...

  6. java web 中base64传输的坑

    今天在项目中,前端需要向后端发送一张图片,使用toDataURL方法以base64编码的形式传输,在写好程序后,发现报错为base64不是有效的图片,反复排查后发现接口需要一张格式为png的图片,在前 ...

  7. ES6编译问题SyntaxError: Unexpected token import

    遇到SyntaxError: Unexpected token import 如何解决 ??? 究其原因是node es6问题这还不够,因为我们没有去配置babel,所以我们需要在.babelrc去做 ...

  8. 12. Java 获取指定字符第N次出现的位置

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class Demo { //判断"Ab2Ad3 ...

  9. jenkins-gitlab-harbor-ceph基于Kubernetes的CI/CD运用(四)

    前景提要 jenkins与gitlab结合,实现代码自动拉取:https://www.cnblogs.com/zisefeizhu/p/12548662.html jenkins与kubernetes ...

  10. Asp.Net Core 学习教程2、使用ASP.NET Core中的RazorPages

    1.创建一个Asp.Net Core Web应用程序 1.1.打开VS2019 新建项目 1.2.选好项目位置后进入线面界面,选择Web应用程序 1.3.进去的页面结构如下 Pages 文件夹:包含 ...