Vim文本编辑器的使用

Vim文本编辑器的使用

相对于windows里面记事本,vim简直是太强大了,其玩法可以说千变万化,初学者如果想在有限时间内把它所有的功能都弄清楚,几乎是不可能完成的任务!所以,我们通过先快速上手,然后再介绍进阶功能的两步走方来学习vim

一、快速上手vim

先创建一个文档file1如图2所示。

 Vim文本编辑器的使用

  创建1个名为file1的文档

创建并打开文档后,默认进入的是Vim编辑器的普通模式。在这个模式下我们不能输入文字

 Vim文本编辑器的使用

  3 文档file1被创建并处于普通模式

按”i”键进入到INSERT模式(插入模式)即录入文字,如图4所示。

 Vim文本编辑器的使用

 进入INSERT模式

进入插入模式后,输入文本内容,如图5所示。

 Vim文本编辑器的使用

 输入文字

文档编写完毕,敲击键盘的Esc键从输入模式返回到普通模式,如图6所示。

 Vim文本编辑器的使用

 返回到普通模式

在普通模式下,输入冒号“:”,进入命令模式,此时光标移动到冒号后,等待我们输入命令,如图7所示。

 Vim文本编辑器的使用

 进入到命令模式

在命令模式下,我们输入wq”,然后回车,vim编辑器将会保存我们输入的内存并退回到命令行界面,如图89所示。

 Vim文本编辑器的使用

 输入保存并退出命令

 Vim文本编辑器的使用

 图9 回到命令行界面

这样,我们经历了一个将文档创建、录入文字并保存的完整过程。在此过程中,我们要注意vim编辑器随着我们的操作在三种不同的模式间进行切换,现在对这三种模式进行归纳,如表1所示:

模式名称

功能

如何进入

普通模式

浏览、编辑文档(如复制、删除等)

ESC

插入(INSERT)模式

录入文字

ioaIOA等键

命令模式

执行保存、退出、查找等命令,也可执行外部命令。

输入“:”、“/”、“?”等符号

1 vim三大模式

 

除了上述表格中的三大模式外,vim还有别的模式,有兴趣的同学可以到网上探索以掌握更多的模式。学习重于观察,建议大家重点观察图2-8中图片底部文字的变化,在vim编辑器的最后一行,我们可以看作是MS Word中的状态栏,当我们处于不同模式时,此“状态栏”也会有相应的变化,提示我们处于什么状态,可以做什么操作。

二、vim进阶

1. vim也有多视窗

vim可以进行多窗口编辑,我们先打开上一节的文档file1,如果看到图10中一样出现若干提示,如果需要恢复之前的版本,可以按r键。此处我们按e键即可对file1的最近版本进行编辑。

Vim文本编辑器的使用

 图10 再次打开file1的提示界面

进入file1后,在普通模式里输入:进入到命令模式,然后输入sp file1.1并回车,vim将会创建一个新的文件file1.1并为之打开一个新的横向窗格,如图11所示。

 Vim文本编辑器的使用

 图11 上下两个窗格呈横向显示的界面

再次输入:进入到命令模式,然后输入vsp file1.2并回车,vim将会创建一个新的文件file1.2并为之打开一个新的窗格,因为我们这次使用的命令是vsp,所以新出现的窗格与原来file1.1的窗格呈纵向并列显示。至此,我们总共就可以看到三个窗格,可以分别对file1file1.1file1.2进行处理,如图12所示。

 Vim文本编辑器的使用

 图12 三个窗格同时显示的界面

打开多个窗格之后,剩下的问题就是如何灵活自如地在这些窗格之间移动变换,此时我们需要使用一个快捷键组合Ctrl+w,当我们在普通模式下按Ctrl+w后,会看到最下面的“状态栏”出现了一个“^W”的状态标记,这表示我们进入了窗格操作模式,如图13所示。

 Vim文本编辑器的使用

 图13 窗格操作模式的界面

进入窗格操作模式后,我们只需按w键,就会发现光标移到了另外的窗格,然后就可以对该文件进行操作了。现在我们反复使用Ctrl+w然后再按w的方法把光标切换回file1。然后我们再来一次操作,先使用快捷键Ctrl+w进入窗格操作模式,然后按L——注意是大写哦!之后,我们将看到如图14的效果。

 Vim文本编辑器的使用

 图14 窗格呈并列显示的界面

至此,我们发现了窗格操作的一些小窍门,那就是在普通模式下按组合键Ctrl+w进行入到如图13所示的模式,然后再发出一个操作指令(其实就是输入一个英文字母,注意大小写是不同的),就可以对窗格进行操作了。至于什么操作指令可以达到什么样的效果,大家可以参考表2

操作指令

效果

w

把光标移到另一个窗格

j

把光标移到上面的窗格

k

把光标移到下面的窗格

h

把光标移到左边的窗格

l

把光标移到右边的窗格

J

将当前窗格移至下方

K

将当前窗格移至上方

H

将当前窗格移至左方

L

将当前窗格移至右方

s

将当前窗格分割成两个水平的窗格

v

将当前窗格分割成两个垂直的窗格

q

关闭分割出来的视窗

2 vim多窗口操作指令

2. 常规编辑操作——插入

vim编辑器提供了多种插入操作,这些操作都是从普通模式输入特定的指令字符进入插入模式,之后就可以录入文字了。在第1节快速上手部分,我们仅仅用了一个常规的插入指令字符“i”,除“i”外,还有别的插入指令字符,如表3所示:

操作指令

效果

i

在当前光标位置前插入

a

在当前光标位置后插入

I

光标移到行首并插入

A

光标移到行末并插入

O

在当前行之前插入一个空行

o

在当前行之后插入一个空行

c^

把当前光标至行首的字符删除并插入

c$

把当前光标至行尾的字符删除并插入

cb

把当前光标至所在单词词首的字符删除并插入

cw

把当前光标至所在单词词尾的字符删除并插入

cc

删除当前行并插入

ck

删除当前行与上一行并插入

cj

删除当前行与下一行并插入

cH

删除当前行到首行并插入

cG

删除当前行到末行并插入

3 vim插入的操作指令——必须在普通模式下执行

 

3. 常规编辑操作——删除

在表3的后半部分2个字符的指令其实已经包含了删除的操作,只是那些操作的目的不是删除,而是为了进入插入模式而顺便进行删除。本小节,我们学习专门的删除操作,专门的删除操作都离不开指令字符“dD“,最”顺手“的删除操作当属连按两次”d“键——删除当前行。如果要删除连续几行,则须佩以数字,如3d的作用是删除当前及其后的三行。需要说明的是,我们输入3d后,vim编辑器不会像之前一样立即执行指令,我们还须按回车键确认。表4列出了删除的常规操作。

 

操作指令

效果

x

删除光标所在字符——相当于删除Delete

X

删除光标前的字符——相当于退格Backspace

dd

删除一行

diw

删除光标处的单词

dis

删除光标处的句子

dgg

删除到文件首

dG

删除到文件末

d^

把当前光标至行首的字符删除

d$

把当前光标至行尾的字符删除

db

把当前光标至所在单词词首的字符删除

dw

把当前光标至所在单词词尾的字符删除

4 vim的常规删除指令——必须在普通模式下执行

4列出的只是一些删除的常规操作,为了展示vim的强大,我们列出一些综合性的”骚“操作,请看表5

操作指令

效果

:g/^$/d

删除空行

:g/^\s*#/d

删除以#号开头的行

:g/hell/d

删除包含hell的行

:g/^hell/d

删除以hell开头的行

:g/hell$/d

删除以hell结尾的行

5 综合性的删除操作

4. 常规编辑操作——复制、粘贴

本小节,我们学习复制操作,复制操作离不开指令字符“y”,最顺手的复制操作当属连按两次y键——复制当前行。如果要连续复制几行,则须佩以数字,如3yy的作用是复制三行。复制完成后,只需要按“p”键,即可粘贴,需要注意的是,这些操作都要在普通模式下执行。表6列出了复制粘贴的常规操作。

操作指令

效果

yy

复制当前行

nyy

复制n

y^

复制至行首

y$

复制至行末

yb

复制当前光标至所在单词词首的字符

yw

复制当前光标至所在单词词尾的字符

diw

复制光标处的单词

dis

复制光标处的句子

yH

复制当前行到首行

yG

复制当前行到末行

p

粘贴在光标后

P

粘贴在光标前

6 复制粘贴的常规操作

如果需要选中一些内容后再进行复制,可普通模式下v进入选择模式,然后用方向键hjkl选择文本,再按y行进行复制。如果需要的是剪切,则需要按d——是的,你猜得没错,前面的所有删除操作等同于剪切^_^

5. 常规编辑操作——撤销、恢复

类似windows系统中的Ctrl+zCtrl+yvim也有对应的撤销和恢复操作,就是在普通模式下,按u键即为撤销,而恢复则是Ctrl+r

Vim文本编辑器的使用

上一篇:兄弟连liunx初级-4.1.2Linux常用命令-文件处理命令(补充)


下一篇:windows截屏