vi/vim

的区别简单点来说,它们都是多模式编辑器,不同的是

vim

vi

的升级版本,它不仅兼容

vi

的所有指令,而且

还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于

x window

mac os

windows

。我们课堂上,统一按照

vim

来进行讲解。

1. vim

的基本概念

课堂上我们讲解

vim

的三种模式

(

其实有好多模式,目前掌握这

3

种即可

),

分别是命令模式(

command mode

)、插

入模式(

Insert mode

)和底行模式(

last line mode

),各模式的功能区分如下:

正常

/

普通

/

命令模式

(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入

Insert mode

下,或者到

last line mode

插入模式

(Insert mode)

只有在

Insert mode

下,才可以做文字输入,按「

ESC

」键可回到命令行模式。该模式是我们后面用的最频繁

的编辑模式。

末行模式

(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,

shift+:

即可进入该模

式。要查看你的所有模式:打开

vim

,底行模式直接输入

:help vim-modes

我这里一共有

12

种模式

:six BASIC modes

six ADDITIONAL modes.

2. vim

的基本操作

进入

vim,

在系统提示符号输入

vim

及文件名称后,就进入

vim

全屏幕编辑画面

:

$ vim test.c

不过有一点要特别注意,就是你进入

vim

之后,是处于

[

正常模式

]

,你要切换到

[

插入模式

]

才能够输入文

字。

[

正常模式

]

切换至

[

插入模式

]

输入

a

输入

i

输入

o

[

插入模式

]

切换至

[

正常模式

]

目前处于

[

插入模式

]

,就只能一直输入文字,如果发现输错了字

,

想用光标键往回移动,将该字删除,可

以先按一下「

ESC

」键转到

[

正常模式

]

再删除文字。当然,也可以直接删除。

[

正常模式

]

切换至

[

末行模式

]

shift + ;

,

其实就是输入「

:

退出

vim

及保存文件

,

[

正常模式

]

下,按一下「

:

」冒号键进入「

Last line mode

,

例如

:

: w

(保存当前文件)

: wq (

输入「

wq

,

存盘并退出

vim)

: q! (

输入

q!,

不存盘强制退出

vim)

3. vim

正常模式命令集

插入模式

按「

i

」切换进入插入模式「

insert mode

」,按

“i”

进入插入模式后是从光标当前位置开始输入文件;

按「

a

」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

按「

o

」进入插入模式后,是插入新的一行,从行首开始输入文字。

从插入模式切换为命令模式

按「

ESC

」键。

移动光标

vim

可以直接用键盘上的光标来上下左右移动,但正规的

vim

是用小写英文字母「

h

」、「

j

」、「

k

」、

l

」,分别控制光标左、下、上、右移一格

按「

G

」:移动到文章的最后

按「

$

」:移动到光标所在行的

行尾

按「

^

」:移动到光标所在行的

行首

按「

w

」:光标跳到下个字的开头

按「

e

」:光标跳到下个字的字尾

按「

b

」:光标回到上个字的开头

按「

#l

」:光标移到该行的第

#

个位置,如:

5l,56l

按[

gg

]:进入到文本开始

按[

shift

g

]:进入文本末端

按「

ctrl

+

b

」:屏幕往

移动一页

按「

ctrl

+

f

」:屏幕往

移动一页

按「

ctrl

+

u

」:屏幕往

移动半页

按「

ctrl

+

d

」:屏幕往

移动半页

删除文字

x

」:每按一次,删除光标所在位置的一个字符

#x

」:例如,「

6x

」表示删除光标所在位置的

后面(包含自己在内)

”6

个字符

X

」:大写的

X

,每按一次,删除光标所在位置的

前面

一个字符

#X

」:例如,「

20X

」表示删除光标所在位置的

前面

”20

个字符

dd

」:删除光标所在行

#dd

」:从光标所在行开始删除

#

复制

yw

」:将光标所在之处到字尾的字符复制到缓冲区中。

#yw

」:复制

#

个字到缓冲区

yy

」:复制光标所在行到缓冲区。

#yy

」:例如,「

6yy

」表示拷贝从光标所在的该行

往下数

”6

行文字。

p

」:将缓冲区内的字符贴到光标所在位置。注意:所有与

“y”

有关的复制命令都必须与

“p”

配合才能完

成复制与粘贴功能。

替换

r

」:替换光标所在处的字符。

R

」:替换光标所到之处的字符,直到按下「

ESC

」键为止。

撤销上一次操作

u

」:如果您误执行一个命令,可以马上按下「

u

」,回到上一个操作。按多次

“u”

可以执行多次回

复。

ctrl + r

:

撤销的恢复

更改

cw

」:更改光标所在处的字到字尾处

c#w

」:例如,「

c3w

」表示更改

3

个字

跳至指定的行

ctrl

+

g

」列出光标所在行的行号。

#G

」:例如,「

15G

」,表示移动光标至文章的第

15

行行首。

4. vim

末行模式命令集

在使用末行模式之前,请记住先按「

ESC

」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。

列出行号

set nu

:

输入「

set nu

」后,会在文件中的每一行前面列出行号。

跳到文件中的某一行

#

:

#

」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字

15

再回车,就会跳到文章的第

15

行。

查找字符

/

关键字」

:

先按「

/

」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按

n

」会往后寻找到您要的关键字为止。

?

关键字」:先按「

?

」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直

按「

n

」会往前寻找到您要的关键字为止。

问题:/ 和 ?查找有和区别?操作实验一下

保存文件

w

:

在冒号输入字母「

w

」就可以将文件保存起来

离开

vim

q

」:按「

q

」就是退出,如果无法离开

vim

,可以在「

q

」后跟一个「

!

」强制离开

vim

wq

」:一般建议离开时,搭配「

w

」一起使用,这样在退出的时候还可以保存文件。

5. vim

操作总结

三种模式

正常模式

插入模式

底行模式

我们一共有

12

种总模式,大家下来可以研究一下

vim

操作

打开,关闭,查看,查询,插入,删除,替换,撤销,复制等等操作。

练习:当堂口头模式切换练习

6.

简单

vim

配置

配置文件的位置

在目录

/etc/

下面,有个名为

vimrc

的文件,这是系统中公共的

vim

配置文件,对所有用户都有效。

而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:

“.vimrc”

。例如,

/root

目录下,

通常已经存在一个

.vimrc

文件

,

如果不存在,则创建之。

切换用户成为自己执行

su

,进入自己的主工作目录

,

执行

cd ~

打开自己目录下的

.vimrc

文件,执行

vim .vimrc

常用配置选项

,

用来测试

设置语法高亮

: syntax on

显示行号

: set nu

设置缩进的空格数为

4: set shiftwidth=4

使用插件

要配置好看的

vim

,原生的配置可能功能不全,可以选择安装插件来完善配置,保证用户是你要配置的用户,接下

:

安装

TagList

插件

,

下载

taglist_xx.zip ,

解压完成,将解压出来的

doc

的内容放到~

/.vim/doc, 

将解压出来

plugin

下的内容拷贝到~

/.vim/plugin

在~

/.vimrc

中添加

:

let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 let

Tlist_Use_Right_Window=1

安装文件浏览器和窗口管理器插件

: WinManager

下载

winmanager.zip

2.X

版本以上的

解压

winmanager.zip

,将解压出来的

doc

的内容放到~

/.vim/doc, 

将解压出来的

plugin

下的内容拷贝到

/.vim/plugin

在~

/.vimrc

中添加

let g:winManagerWindowLayout=‘FileExplorer|TagList nmap wm :WMToggle

然后重启

vim,

打开

~/XXX.c

或~

/XXX.cpp,

normal

状态下输入

"wm",

你将看到上图的效果。

更具体移步:

手把手教你把Vim改装成一个IDE编程环境(图文)_vim 在编译时,显示shell-CSDN博客

, 其他手册,请执行

vimtutor

命令。

参考资料

Vim

从入门到牛逼

(vim from zero to hero)

 ~over~

文章来源

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: