Vim 程序编辑器

1. vi 的使用

基本上vi 共分为三种模式,分别是一般模式、编辑模式与指令列命令模式。这三种模式的作用分别是:

- 一 般模式:

  以vi 打开一个档案就直接进入了一般模式,这是默认的模式。

- 编辑模式:

  在一般模式中可以进行删除、复制、贴上等动作,但是无法编辑文件内容的。按下【i, I,o, O,a,A,r,R】等任何   一个字母之后才会进入编辑模式。通常在linux 中,按下这些按键时,在画面的左下方会出现Insert 或Replace 的字样,此时才可以进行编辑。而如果回到一般模式,则必须要按下[Esc]按键即可退出编辑模式。

- 指令列命令模式:

  在一般模式当中,输入【:/ ?】三个中的任何一个按钮,就可以将光标移到到最底下一行。在这个模式当中,可以提供你搜索资料的动作,而读取、存盘、大量取代字符、离开vi、显示行号等等则是在此模式中达成的。

2. 按键说明

2.1 一般模式可用的按钮说明,光标移动、复制贴上、搜索取代

2.1.1 光标移动的方法

ctrl + f : 屏幕向下移动一页,相当于Page Down 按键

ctrl + b : 屏幕向上移动一页,相当于Page Up 按键

0或功能键【Home】: 移动到这一行的最前面字符处

$ 或功能键【End】:移动到这一行的最后面字符处

G:移动到这个档案的最后一行

gg:移动到这个档案的第一行

nG:n 为数字。移动到这个档案的第n行

n<Enter>: n为数字。光标向下移动n行

2.1.2 搜寻与取代

/word: 向光标之下寻找一个名称为word的字符串。

?word: 向光标之上寻找一个名称为word的字符串。

n: 这个n 是英文按键。代表重复前一个搜寻的动作。

N: 这个N是英文按键。与n刚好相反,为反向进行前一个搜寻动作。

:n1,n2s/word1/word2/g:n1 与n2为数字。在第n1 与n2行之间寻找word1这个字符串,并 将该字符串取代为word2.举例来说,在100到200行之间搜寻vbird并取代为VBIRD,则:

:100,200s/vbird/VBIRD/g

:1,$s/word1/word2/g: 从第一行到最后一行寻找word1字符串,并将该字符串取代为word2.

: 1,$s/word1/word2/gc: 从第一行到最后一行寻找word1 字符串,并将该字符串取代为word2.且在取代前显示提示字符给用户确认是否需要取代。

2.1.3 删除、复制与粘贴

x,X: 在一行字当中,x为向后删除一个字符,X为向前删除一个字符。

nx: n 为数字,连续向后删除n个字符。

dd: 删除游标所在的那一整行。

ndd: n为数字。删除光标所在的向下n行。

d1G:删除光标所在到第一行的所有数据

dG: 删除光标所在到最后一行的所有数据

d0:删除光标所在处,到该行的最前面一个字符

d$:删除光标所在处,到该行的最后一个字符

yy: 复制光标所在的那一行

nyy: n为数字。复制光标所在的向下n行。

y1G: 复制光标所在行到第一行的所有数据

yG: 复制光标所在行到最后一行的所有数据

y0:复制光标所在的那个字符到该行行首的所有数据

y$:复制光标所在的那个字符到该行行尾的所有数据

p,P: p为将已复制的数据在光标下一行贴上,P则为贴在光标上一行

J: 将光标所在行与下一行的数据结合成同一行

c: 重复删除多个数据,例如向下删除10行,10cj

u: 复原前一个动作

ctrl + r: 重做上一个动作

.: 重复前一个动作。

2.2 一般模式切换到编辑模式的可用的按钮说明

2.2.1 进入插入模式

i,I: i为从目前光标所在处插入,I为在目前所在行的第一个非空格符处开始插入

a,A: a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入

o,O: o 为在目前光标所在的下一行处插入新的一行;O为在目前光标所在处的上一行插入新的一行

2.2.2 进入取代模式

r,R: r只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下Esc为止

2.3 指令列的存储、离开等指令

:w : 将编辑的数据写入硬盘档案中

:w! : 如文件属性为只读时,强制写入该档案。不过,到底能不能写入,还是跟你对该档案的档案权限有关

:q : 离开vi

:q! :若曾修改过档案,又不想存储,使用!为强制离开不存储档案。

:wq : 储存后离开,若为:wq! 则为强制储存后离开

ZZ : 这是大写的Z,若档案没用更改,则不存储离开;若档案已经更改过,则存储后离开。

:w [filename] : 将编辑的数据存储成另一个档案

:r [filename] : 在编辑的数据中,读入另一个档案的数据。亦即将filename 这个档案内容加到游标所在行后面。

:n1,n2 w [filename] : 将n1 到n2 的内容存储成filename 这个档案

: ! command : 暂时离开vi 到指令列模式下执行command 的显示结果  

3. vim 的额外功能

3.1区块选择

区块选择的按键意义

v: 字符选择,会将光标经过的地方反白选择

V: 行选择, 会将光标经过的行反白选择

[Ctrl]+v: 区块选择,可以用长方形的方式选择

y: 将反白的地方复制起来

d: 将反白的地方删除起来

3.2 多档案编辑

我们知道vi 内可以使用:r filename 来读入某个档案的内容,不过,这样毕竟是将整个档案读入。如果只是想要部分内容呢,这是多档案同时编辑就很有用了。

多档案编辑的按键:

:n  : 编辑下一个档案

:N  :编辑上一个档案

:files : 列出目前这个vim 的开启的所有档案 

3.3多窗口功能

两个档案同时在一个屏幕上面显示,多窗口情况下的按键功能

:sp [filename] : 开启一个新窗口,如果有加filename, 表示在新窗口开启一个新档案,否则表示两个窗口为同一个档案内容

Ctrl + w + ↓ : 按键的方法: 先按下ctrl 不放,再按下w 后放开所有的按键,然后再按 ↓ 或j, 则光标可移动到下方的窗口。

Ctrl + w + ↑ : 光标移动到上面的窗口

Ctrl + w + q : 离开

猜你喜欢

转载自lingxiayidu-wjx.iteye.com/blog/2361963