VIM快速入门以及基本操作的综合使用(一)

为避免不必要的误解,本文使用<>将操作括起,并且先作出如下约定

<O> 代表在大写模式下输入O或者在小写模式下输入shift+o
[char] 表示任意字符
[number] 表示输入一个数字

目录

 

一、vim简介

二、vim基本操作

0.从"0"开始!

1.光标移动:

2.新建行并进入插入模式:

3.从普通模式插入模式的切换

4.普通模式下复制,删除,查找等操作

5.vim神器之——重复操作(,   .   ;)

三、基本操作组合使用案例

1.C语言框架:

2. <.  >操作命令应用举例


一、vim简介

相信读者在阅读本文之前已经对vim有所了解,本文就不在此做过多阐述。

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。

学会vim的目的就是可以在思考的同时编程,而不用去频繁的使用鼠标或者方向键,双手离开了键盘主区而打乱了自己的思绪。

二、vim基本操作

注意:在使用vim前,请一定要检查英文字母大写键是否打开,请切换到小写字母输入的状态下!,在vim中大写的英文字母和小写的英文字母通常是不同的操作(如A会离开普通模式把光标移动到最后一行并进入插入模式,而a会让你直接进入插入模式),对vim尚不熟悉的你很可能因为命令输入正确而反馈却是错的而被劝退!

0.从"0"开始!

在开始前我们需要对VIM最简单的几个模式有基本的了解

普通模式:执行操作指令的主要模式,光标的悬停位置会在字符上(类似与覆盖模式),从插入模式切换到普通模式时,光标会从字符后面移动到光标前面的字符上(注意这里是上,不是前也不是后!)

插入模式:编辑缓冲区内容的模式,在插入模式下也有相应的操作命令可以输入。

命令行模式:命令行模式可以查看执行命令的列表,还可以执行外部的shell命令(这将会很有用!)。

可视模式:用来选中文本,再来执行相应的操作。

1.光标移动:

<h>-左

<j>-下

<k>-上

<l>-右

许多vim初学者在入门时被vim的光标移动劝退,但在渡过“困难期”后,你一定会爱上这种光标的移动方式!

[number]  + 以上移动键位:   向目标方向移动指定的行数

[number] <gg>/<G>:跳转到指定的行号

<gg>:跳转到文章开头

<G>:跳转到文章末尾

使用以上几个移动指令可以基本完成在编辑器中的移动操作。

2.新建行并进入插入模式:

<o>-在该行下方新建一行并且进入插入模式

<O>-在该行上方新建一行并且进入插入模式

3.从普通模式插入模式的切换

<Esc>:从插入模式进入普通模式

<a>:光标后移一位并进入插入模式

<A>:光标移动到行尾并进入插入模式

<i>:光标向前移动一位并进入插入模式

<I>:光标移动到行首

4.普通模式下复制,删除,查找等操作

<yy>:复制一行

<p>:将剪贴板中的内容粘贴到该行下方

<x>:删除光标下的字符

<dd>:删除一整行

<f>+[char]:将光标移动到下一指定字符所在位置

看了上面的操作,相信你已经发现了不少规律!

下面是vim中非常重要也非常强大的三个命令,虽然他们看起来不起眼,但请一定要好好认识他们!

5.vim神器之——重复操作(,   .   ;)

<,>: 反向查找<f>命令上一次查找的字符

<.> : 再次执行上次所作的"修改"(这里的修改是一个比较广泛的概念,可以是一个字符,字符串,一行,一段甚至是一个文件,一般的说,他会执行你上次在普通模式下执行的命令如<dd>,或者在离开普通模式到下一次进入普通模式之间所作的操作(具体请看下面的<.>操作案例)

<;> : 正向查找<f>命令上一次查找的字符

三、基本操作组合使用案例

1.C语言框架:

或许你已经敲了上万次的

#include <stdio.h>

int mian(){

return 0;
}

又或许你一次也没敲过(许多IDE帮你完成了这个工作),但请你打开vim回到最开始的时候,带着对编程的热爱和我一起使用VIM再敲一遍!

①首先,我们要使用<i>命令进入插入模式,输入#include <>。

②这时候你的光标停留“>”的后面,也许你已经按了小键盘把光标移动了回去,但你是在学vim!请不要这么做!或许你已经开始上手按下了<Esc>和<h>把光标移动了过去,你已经上手了!但这并不是一种好方法,因为你还需要按下<a>来进入插入模式并且把光标移动到<>之间。还记得刚刚所看到的命令吗,没错就是使用<i>命令把光标向后移动移动一位,但我们要先按下<Esc>来进入普通模式!(或许你觉得按下两个键而不是←键来进行移动是多么的可笑,但请你原谅我的可笑,继续这么做下去,你会认识到这么做有多么舒适的!)

③第三步,我们键入stdio.h,按下<Esc>来进入普通模式 和 <o>来开启新的一行来输入int main(){},再使用<Esc>和<i>的命令把光标向前移动一位,按下回车键,这时,缓冲区的文本应该长这样

#include <stdio.h>

int main(){
}

④最后,不出意外的话,光标应该再最后一个}前面,在按下<O>来在上面新建一行,输入<Tab>和return 0;我们的任务就完成了

#include <stdio.h>
int main(){
    return 0;
}

这时再输入<Esc>和<O>就可以再在return 0;上面新建一行来使用printf()函数来输出hello world 了!

2. <.  >操作命令应用举例

假设下面有一段这样的代码

printf("hello")

printf(" ")

printf("world")

如果你是一位Python的支持者,或许你会支持他这么做,但是在C语言中,这么做的确糟透了!

A是一个使用普通编辑器的程序员,在学习C语言的时候不小心敲出了这样的代码,他按了好几下方向键和分号,花了一阵子终于把代码补齐了!

B是一位懂得使用vim的程序员,和A不同的是,他在学习编程语言时还在学VIM!他只是笑了笑想起了自己前几天学VIM时所看到的案例,移动到需要添加分号的那一行,按下了<A> ; <Esc>(在行尾插入分号并且进入普通模式)。他知道事情已经做完了,因为他只需要把光标继续移动到下一个需要在行尾添加分号的行,按下<.>就可以直接在最后一行添加;并且不会离开普通模式!!

看完了上面两个案例,你应该已经初步了解了VIM的强大!在代码修改的确会花费太多的时间,不如学学VIM,把这些时间存下来,给自己泡杯茶,把你的目光从电脑屏幕前移开,看看外面精彩美丽的世界把!

发布了14 篇原创文章 · 获赞 10 · 访问量 4504

猜你喜欢

转载自blog.csdn.net/qq_39816031/article/details/84887788
今日推荐