VI常用的命令及其记忆方法:



光标移到方法:

h     j     k     l

左    下    上    右


^              移到行头          往上就到行头了(象形)

$              移到行尾          写完一行就要给一行的钱





编辑方法:

命令         执行的操作                 记忆方法

:q               退出                         quit

:w               存盘                         write

:!               强行

:set nu        显示行号                       number

:set nonu      隐藏行号                       no number



i              光标前插入         insert

o           另起一行加入  一个小鸡蛋(小o)掉下来了摔开了花

dd          ***一行  

u    撤销上次操作           undo

yy           复制当前行整行的内容到vi缓冲区

p            读取vi缓冲区中的内容,并粘贴到光标当前的位置(不覆盖文件已有的内容)




搜索方法:

/word       从上而下查           /是从上而下写的吧

?word       从下而上查找     字符在哪儿呢(?)回头找找吧

n           定位下一个匹配的   相当于向下查找下一个 next

N          定位上一个匹配的     相当于向上查找上一个








下面是更为详细的:


一般模式:光标移动的方法

一般模式:搜索与替换

一般模式:***、复制和粘贴

进入编辑模式

vi命令行编辑模式

Vim的附加功能

VIM多文件编辑

VIM多窗口编辑

 


 

一般模式:光标移动的方法

h j k l 分别为 右;

 

n+space 向右移动n个字符;

n+enter 向下移动n行;

 

0 移动到这一行字符的最前面处;$ 移动到这一行字符的最后面处;

 

H 移动到这个屏幕的最上方那一行

M 移动到这个屏幕的中间那一行

移动到这个屏幕的最下方那一行;

G 移动到这个文件的最后一行;  

nG 移动到这个文件的第n 1G,移动到文件的第一行;

 

一般模式:搜索与替换

/word 从光标开始,向下搜索一个名为word的字符串

?word 从光标开始,向上搜索一个名为word的字符串

n 重复前一个搜索的动作  N反向重复前一个动作;

(见鸟哥的私房菜基础篇205页)

 

一般模式:***、复制和粘贴

x 向后***一个字符 相当于delete

X 向前***    相当于backspace

nx 连续向后***n个字符

dd ***光标所在的一行

ndd 向下***n

d1G***光标所在位置到第一行的所有数据;

dG  ***光标所在位置到最后一行的所有数据

d$  ***光标后所有字符

d0  ***光标前所有字符

yy  复制光标所在那一行

nyy 复制光标所在的向下n

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

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

y0  复制光标前所有字符

y$  复制光标后所有字符

Ctrl+r 重复上一个操作

 

进入编辑模式

i 从光标前插入

I 从光标所在行最前面插入

A 从光标片所在行最后面插入

o 在光标所在的下一行插入新的一行

O 在光标所在的上一行插入新的一行

r 替换光标所在处的字符

R replace 一直替换

. 重复上一个动作

u 撤销上一个动作

 

vi命令行编辑模式

w 将编辑的文件写入硬盘

w! 将只读文件强制写入

q 离开vi

q! 不保存离开

wq 保存离开

e! 将文件还原到最原始状态

ZZ若文件没有更改,则不存储离开,若更改,则保存离开

w [filename] 另存新文件

r[filename] 在编辑的数据中,读入另一个文件的数据

:!command vi编辑文件时使用命令

set nu 设置行号

set nonu 取消行号

 

 

Vim的附加功能

v 将光标经过的地方反白选择

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

Ctrl+v 块选择

y 复制反白的地方

d 将反白的地方***

 

VIM多文件编辑

n 编辑下一个文件

N 编辑上一个文件

 

VIM多窗口编辑

sp [filenem] 打开一个新窗口,加filename表示在新窗口打开新文件,不加表示两个窗口同步显示同一个文件

Ctrl+wj 同时按Ctrlw,在按j,将光标移到下发窗口

Ctrl+wk 同时按Ctrlw,在按k,将光标移到上发窗口

Ctrl+wq 保存离开

 

VIM环境设置

set all 显示所有可设置的环境