文本编辑器VI/VIM

VI工作模式

插入模式 <--------> 命令模式 <-------->  编辑模式


插入命令

a在光标后附加文本

A在本行行末附加文本

i在光标前插入文本

I在本行开始插入文本

o在光标下插入新行

O在光标上插入新行


定位命令


hjkl  $ 移至行尾 0 移至行首

HML  移动屏幕上端、中央、下端 

:set nu 设置行号

:set nonum 取消行号

gg 到第一行

G 到最后一行

nG 到第n行

:n 到第n行



删除命令


x 删除光标所在处字符

nx删除光标所在处后n个字符

dd删除光标所在行,ndd删除n行

dG 删除光标所在行到末尾的内容

D删除光标所在行到行尾内容

:n1,n2d 删除指定范围的行



复制和剪切命令

yy、Y 复制当前行

nyy、nY复制当前行以下的n行

dd 剪切当前行

ndd剪切当前行以下的n行

p、P黏贴在当前光标所在  行下 或者 行上



替换和取消命令

r 取代光标所在处字符

R 从光标所在处开始替换字符,按ESC结束

u取消上一步操作

搜索和替换命令

/string 向前搜索指定字符串,向下/向上检索 n/N

忽略大小写  :set ic/noic

:%s/old/new/g 全文替 换指定字符串

:n1,n2s/old/new/g 在一定范围内替换指定字符串

g交互方式替换,替换不会提示是否替换,如果换成c,就会提示是否替换;

保存退出命令

:w 保存

:w new_filename 另存为指定文件

:wq  保存修改并退出

ZZ  快捷键,保存修改并退出

:q!  不保存修改并退出

:wq!  保存修改并退出(文件所有者忽略文件爱你的只读属性)


应用实例

:r /ect/issue 将另一文件导入到当前编辑的文件中

:! ls /root/  执行命令

导入文件和执行命令放在一起执行

:r  !date 将系统时间导入到光标所在位置

:r !ls /etc 将命令执行结果导入到当前文件的中

定义快捷键 :map 快捷键 触发命令

范例: 注释 :map ^P( ctrl + v 和 ctrl + p,  ctrl+v+p) I(大写i,跳到行首)#

            去掉 :map ^B 0x( 0跳到行首,x删除)

定义快捷键,插入邮箱地址

:map ^[email protected]

连续行注释:

:n1,n2s/^/#/g

:n1,n2s/^#//g

:n1,n2s/^/\/\//g     2个转义符

替换:

:ab sammail [email protected]

:unab sammail


编辑配置文件  ~/.vimrc

set nu

map ^P I#

ab mymail [email protected]



你可能感兴趣的:(Linux学习)