一、VIM总结如下: 模式化的编辑器
1、三种基本模式:
编辑模式(命令模式)
输入模式(插入模式)
末行模式:内置的命令行接口
2、如何使用VIM打开文件,编辑文件
打开文件:
#vim 【options】【file】
+n;打开文件后直接让光标处于第n行的行首
+/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首
+/if :表示打开文件后,直接在第一个匹配到的if 行首开始编辑
处于尾行,直接写 vim + file
3、模式转换:
编辑模式:默认模式
编辑模式->输入模式
i: insert 在光标所在处输入,插入字母等内容
a:append,在光标处后方输入
o:在光标所在处下方打开一个新的行
I:在光标所在行的行首输入
A :在光标所在行的行尾输入
O:在光标所在处的上方打开一个新行
输入模式->编辑模式
按ESC键
编辑模式->末行模式(命令模式) 输入“:”即可
每行增加序号:set nu
撤销序号:set nonu
末行模式–>编辑模式
连续按两次ESC
(1)关闭文件:
ZZ:保存并退出
:q 退出
:q! 强制退出
:wq 保存并退出
上面命令可以分开使用:w先写入,:q再退出
:x 保存并退出
:w /PATH/TO/SOMEFILE
(2)光标跳转:
字符间跳转:h:左 l:右 j:下,k:上
#command :跳转由#指定个数的字符
单词间跳转:一个单词的词首
e:当前或下一个w:下单词的词尾
b:当前或上一个单词的词首
#command :跳转由#指定个数的字符
行首行尾跳转
^ :跳转至行首的第一个非空白字符
0:跳转至行首
$:跳转至行尾
行间跳转
#G: 跳转至由#指定的行
1G,gg :跳转至第一行
G:最后一行
句间跳转
)下一句
(前一句
可以加数字,表示前几句或后几句
段间跳转
}下一段
{上一段
翻屏操作:
Ctrl+f :向文件尾部翻一屏
Ctrl+b :向文件首部翻一屏
Ctrl+d :向文件尾部翻半屏
Ctrl+u :向文件首部翻半屏
enter:按行向后翻
4、vim的编辑命令
字符编辑
x :删除光标所在处的字符
#x:删除光标所在处起始的#个字符
xp :交换光标所在处的字符与其后面的字符的位置
替换命令
r:替换光标所在处的字符
rCHAR
删除命令 删除的内容保存在缓冲区中,只有最后一个才会被粘贴
d :删除命令,可结合光标跳转字符,实现范围删除
d$:删除光标所在的当前字符至行尾
d^:删除光标所在的当前字符至行首
下面的内容可以加数字:#dw
dw:删除光标所在的当前字符至下一个单词的词首
de
db:删除光标所在的当前字符的所在行,支持加数字
粘贴命令:(p,put,paste)
p:缓冲区的内容如果为整行,则粘贴在当前光标所在行的下方,否则则粘贴在光标所在处的后方
P:缓冲区的内容如果为整行,则粘贴在当前光标所在行的上方,否则则粘贴在光标所在处的前方
复制命令(yank,简写为y)
复制操作与删除的命令原理一样
y$:
y^:
ye
yw
yb
#command
yy 复制一整行
#yy复制#行
改变命令:(change,c命令)
编辑模式–》输入模式,实现删除操作
c$
c^
c0
cb
ce
cw
#command
cc:删除光标所在行,并转换为输出模式
#cc
可视化模式(鼠标选中区域)
v:按字符选定位置
V:按整行选定位置
结合编辑命令使用:d,c,y
撤销操作(undo)
u:撤销此前的操作
#u:撤销此前的#条操作
撤销此前的操作内容
Ctrl + r
重复执行前一个编辑操作
vim有自带的练习教程,vimtutor
二、操作练习:
1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#:
cp /etc/rc.d/rc.sysinit /tmp
vim /tmp/rc.sysinit
%s@^[[:space:]]\+@#@g
2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;
命令:
cp /boot/grub/grub.conf /tmp
vim /tmp/grub.conf
%s@^[[:space:]]@@g
3、删除/tmp/rc.sysinit文件中以#开头,且后面跟了至少一个空白字符的行行的#和空白字符:
%s@^#[[:space:]]\+@@g
4、为/tmp/grub.conf文件中前三行的行首加#号:
1,3s@^@#@g
5、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1:
%s@\(enabled\|gpgcheck\)=0@\1=1@g
6、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202:
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89079