文本编辑器vim
1.vim常用操作
vim 是功能强大的全屏幕文本编辑器
作用:建立、编辑、显示文本文件
特点:没有菜单,只有命令。
vim [文件名] :进入要编辑的文件
插入模式:以下命令都可以进入
a:在光标所在字符之后插入
A:在光标所在行行尾之后插入
i:在光标所在字符之前插入
I:在光标所在行行首前插入
o:在光标下插入新行
O:在光标上插入新行
这些都需要在命令模式下,执行。(按下ESC可以进入命令模式)
命令模式:按键ESC,输入的每个字母都是命令。输入wq保存并退出
编辑模式:输入冒号 :(需要在命令模式中,才可以输入冒号)。在编辑模式下,命令以回车结束运行
加行号: set nu 取消行号:set nonu
在命令模式下输入,以下命令:
gg:到第一行
G:到最后一行
nG: 到第n行
:n 到第n行。在编辑模式下(冒号下),输入行数,即可跳到该行
$:移至行尾
0(数字零):移至行首
搜索和搜索替换命令(在编辑模式下)
搜索指定字符串
:/string
(如果想要搜索时忽略大小写:编辑模式下set ic即可)
如:/tcp
表示:查找所有和tcp有关的句子(按n可以切换到下一行)
n:按键n,表示搜索指定字符串的下一个位置
全文替换
:%s /要替换的字符串old/新的字符串new/g(不询问)或者 c(询问确认)
如:编辑模式下:%s/ftp/yangmi
即:把该文档中的所有ftp替换为yangmi
在指定范围内替换指定字符串:起始行,终止行s/要替换的字符串old/新的字符串new/g(不询问)或者 c(询问确认)
如:编辑模式下:41,44s/ftp/yangmi/g
即:把41行到44行的ftp全部替换为yangmi
保存和退出命令(编辑模式下:)
w:保存修改
w/目录+文件名:如:w/tmp/backFile 即把这个文件另存到tmp目录下,并且命名为backFile
wq:保存修改并退出(write quit)
q!:不保存修改退出
wq!:强制保存修改并退出,即使文件只可读(文件所有者和root用户才可以使用该命令)
命令模式下:
ZZ:保存修改并退出
删除命令(在命令模式下)
x:删除光标所在处字符
nx:删除光标所在处后面的n个字符
dd:删除光标所在行
ndd:删除光标所在处后面的n行
dG:删除光标所在处到文件末尾的内容
D:删除光标所在处到行尾的内容
编辑模式(:)下:删除指定范围的行
n1,n2d
如:42,45d
即删除42到45行
复制和剪切命令(在命令模式下)
yy:复制当前行
nyy:复制当前行以下n行
dd:剪切当前行
ndd:剪切当前行以下n行
p(小p):粘贴在当前光标所在行下
P(大P):粘贴在当前光标所在行上
替换和取消命令(在命令模式下)
r:取代光标所在处字符
R:从光标开始出开始替换字符,按ESC结束
u:取消上一步操作
2.vim使用技巧
1)导入命令执行结果:r
如在编辑模式下:r [文件名]
表示把这个文件复制到当前文档中光标所在位置下面
如: r /tmp/servicesBack (当前在backFile中)
把tmp目录下的servicesBack 文件中的文字全部复制到backFile文件光标所指位置下面
2)导入命令执行结果:!
如在编辑模式下:! [命令]
表示:可以在不退出vim的情况下,执行该命令
如:! which ls
这时就会告诉我们 ls这个命令在哪里。按下回车就继续回到vim中的命令模式
3)两个导入命令结合使用:r ! [命令]
表示:把命令执行的结果,导入到当前光标所在位置
如:r ! date
表示把当前时间导入到正在编辑的文档光标所在位置
4)定义快捷键:map 快捷键 触发命令
注意^P是(Ctrl+v+p)三个键的组合,也可以先按(Ctrl +v)在按(Ctrl +p),按下去之后p是有颜色的。这表示定义按下p这个快捷键,执行的是后面的触发命令
如:map ^P I#<ESC>
表示在命令模式下,按下ctrl +p,就执行:跳到该行的行首并插入#,然后回到命令模式(也就是按下esc)
如:map ^B 0x
表示在命令模式下,按下Ctrl+B,就执行:跳到该行的行首,并删除行首这个字符。
如:map ^H Goshuhongwang7@163.com<ESC>
表示:按下ctrl +H键,移到最后一行,在光标下插入一行,然后写上上面的邮箱,最后回到命令模式
连续行注释:(编辑模式下)
:n1,n2s/^/#/g
表示:起始行,终止行s/^(尖角号,表示在行首)/增加的字符/g(不询问确认)
上面那句命令表示在n1到n2行的行首加上#字符
:n1,n2s/^#//g
表示:起始行,终止行s/^#/(什么都不写,表示空)/g
上面那句命令表示:把n1到n2行中行首的#替换为空,也就是去掉注释
:n1,n2s/^/\/\//g
表示:在n1到n2行加上注释符号"//",由于/这个符号比较特殊,因此要加上反斜杠\,表示转义符。
5)替换:ab [简写] [替换的内容]
表示在文件中,输入简写的内容,然后按回车或者空格键,就会变成[替换的内容]
如: ab mymail samlee@lampbrother.net
表示:如果在文中输入 mymail ,按下回车,就会变成 samlee@lampbrother.net
注意:想要命令一直生效需要将命令写入相应用户的配置文件。(配置文件一般存在用户的home目录下,叫做:.vimrc。普通用户就是:/home/username/.vimrc 如果是管理员就是/root/.vimrc)
如:root用户
vim /root/.vimrc
然后把命令写入如:
map ^P I#<ESC>
set nu
map ^C GoShuhongWang7@163.com
之后保存并退出。这样按Ctrl P的时候就会在行首加上#,文档会一直有行号,按Ctrl C的时候,在末尾会加上邮箱
网友评论