学用VIM Linux下最通用的文本编辑器

Linux Add comments559 views

VIM

vim filename :打开或新建文件,并将光标置于第一行首
vim -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename

[Esc] 退出当前模式

插入模式
i 插入在当前文字
I 插入在行首
O 插入并移到上一行
o 插入并移到下一行
a 插入在当前文字的下一个字
A 插入在行尾
[Insert] 插入在行尾
[Delete] 删除当前字符
替换模式
r替换一个字符然后退出替换模式
R进入替换字符模式

定位操作
[Page Up] 屏幕向前移动一页
[Page Down] 屏幕向前移动一页
[Ctrl] + [d] 屏幕向前移动半页
[Ctrl] + [u] 屏幕向后移动半页
+ 光标移动到下一行首
- 光标移动到上一行首
/单词 向光标之后寻找一个字符串名称为 ‘单词’ 的字符串
n 查找下一个
N 查找上一个

修改操作
u 撤销
[Ctrl] + [R] 重做

:s/QQ/MSN/ 在当前行之间寻找 ’QQ’ 一个字符串,并将该字符串取代为 ’MSN’
:1,2s/QQ/MSN/ 在第 1 与 2 行之间寻找 ’QQ’ 一个字符串,并将该字符串取代为 ’MSN’
:1,2s/QQ/MSN/g 在第 1 与 2 行之间寻找 ’QQ’ 所有字符串,并将该字符串取代为 ’MSN’
:3,$s/QQ/MSN/g 在第 3 与最后一行之间寻找 ’QQ’ 这个字符串,并将该字符串取代为 ’MSN’
:3,$s/QQ/MSN/gc 从第 3 行到最后一行寻找 ’QQ’ 字符串,并将该字串取代为  ’MSN’ 且在取代前显示提示字符给使用者确认是否需要取代!
:%s/QQ/MSN/g:将文件中所有 ’QQ’ 均用 ’MSN’ 替换

x 向后删除一个字符
X 向前删除一个字符
5x 向后删除5个字符
5X 向前删除5个字符
dd 删除光标所在的那一整行(找到换行符为止)
5dd 删除光标所在的那5整行(找到换行符为止)
d1G 删除光标所在到第一行的所有资料
dG 删除光标所在到最后一行的所有资料

J 将光标所在列与下一行的资料结合成同一行

复制粘贴
yy 复制光标所在的那一行
5yy 复制光标所在的向下5行
y1G 复制光标所在列到第一行的所有资料
yG 复制光标所在列到最后一行的所有资料

p 复制的数据在光标下一行贴上
P 复制的数据在光标上一行贴上

保存与退出
:w 将编辑的资料写入硬盘档案中
:w! 若档案属性为『只读』时,强制写入该档案
:q 离开 vi
:q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
:wq 储存后离开,若为 :wq! 则为强制储存后离开
:e! 将档案还原到最原始的状态
:w [filename] 将编辑的资料储存成另一个档案
:r [filename] 在编辑的资料中,读入另一个档案的资料。即将 『filename』这个档案内容加到光标所在行后面
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu 与 set nu 相反,为取消行号
n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案。
:! command 暂时离开 vi 到指令列模式下执行 command 的显示结果!例如[ :! ls /home ]

Maybe you like

标签:, , ,


Leave a Reply

34 queries. 0.515 seconds. Designed by NattyWP .
Images by desEXign.