vi编辑器使用

linux中的编辑器也有多种,如ed,sed,vi,vim,emacs等

vim/vi编辑器,其作用是编辑、建立、显示文本文件,他不想windows中的可视化编辑器,如notepad,word等,它没有菜单,只有命令

插入命令:

a在光标后插入文本

A在光标所在行行末插入文本

i在光标前插入文本

I在光标所在行行头插入文本

o在光标下插入新行

O在光标上插入新行

s删除光标所在处的字符并获取输入焦点

S删除光标所在行并在本行行头获的输入焦点

定位命令:

h、方向左键左移一个字符

j、方向下键上移一行

k、方向上键下移一行

l、方向右键右移一个字符

$移至光标所在行行尾

0移至光标所在行行首

H移至屏幕上端

M移至屏幕中央

L移至屏幕下端

:setnu设置行号

:setnonu取消行号

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从光标所在处开始替换字符,按ese结束

u取消上一步操作

U取消对光标所在行所有的操作

搜索和替换命令:

/string向前搜索指定字符串,搜索时忽略大小写:setic

n、N搜索指定字符串的下一个出现位置(从前往后、从后往前)

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

:n1,n2s/old/new/g在一定范围内替换指定字符串(替换时不询问)

:n1,n2s/old/new/c在一定范围内替换指定字符串(替换时询问)

保存、退出命令:

:wq等同于zz

:wq!强行保存退出,只有文件的所有者或root才可以,没有可写权限

:q!不保存强行退出

:w保存不退出

:w/etc/services另存为

导入文件命令:

:rfilename在当前vi正在编辑的文件读入(引入)另一个文件,如:r/etc/issue

:!命令把一个命令执行的结果导入vi文件中,如:!ls/root,然后敲回车

:r!date把当前系统时间导入到vi指定的文件

执行某个命令的结果显示到这个文件中:r!ls(要执行的命令)

:w>>backup将当前编辑的文件追加到backup文件当中

:1,5w>>a.txt将当前编辑的文件的第一行至第五行追加到a.txt文件中

:e/etc/passwd不想改当前正在编辑的文件要改另外一个文件(如要改/etc/passwd)

:e!将当前编辑的文件恢复至最初的状态(即用vi刚打开时的状态)

:e!aa.txt

:eb.file

:1,$s/aaa/bbb/g

:1,5s/aaa/bbb/c

:%s/\shark/ttt/g

vi-0/etc/passwd/etc/group同时编辑多个窗口

:nr(文件)把文件插入到第n行

:!(命令)运行命令,然后返回

:sh转到shell

:so(文件)读取文件在执行文件里的命令

一些vi的技巧

想要每次启动vi时都默认有行号,编辑用户主目录下的vi启动脚本(vi~/.vimrc),在此文件中添加setnu

相关推荐