第10章 vim程序编辑器
vim 是 vi 的增强版,它能以多种颜色来显示文本里面的关键字
vim 有两种模式:命令模式和插入模式
i 在当前字符前插入
I 在本行最前插入
a 在当前字符后插入
A 在当前行最后插入
o 在当前行下一行插入
O 在当前行上一行插入
G 将光标移动到最后一行
ESC 从插入模式进入命令模式
: 从命令模式进入尾行模式,可以做一些保存,替换的操作
/ 从命令模式进入尾行模式,可以做一些查找地操作 按n 查找下一个关键字 N查找上一个关键字
q 退出
q! 不保存退出
w
x 保存退出
x! 强制保存并退出
u 撤销
ctrl+r 前进
:set nu 显示行号(此时行号保存在内存中,并不是原文件的一部分)
:set nonu 去掉行号
:s/hello/HELLO/ 把当前行的第一个字符hello 替换成HELLO s 表示替换
:%s/hello/HELLO/ 把所有行的第一个字符hello 替换成HELLO %表示所有行
:s/hello/HELLO/g 把当前行的所有字符hello 替换成HELLO g=global 表是全局
:3,5s/hello/HELLO/g 把3到5行的所有字符hello替换成HELLO ,表示 到
:.,5s/hello/HELLO/g 把当前行到5行的所有字符hello替换成HELLO .表示当前行
:.,$-1s/hello/HELLO/g 把当前行到倒数第二行所有字符hello替换成HELLO $表示最后一行,$-1表示最后一行上一行,也就是倒数第二行
:%s/hello/HELLO/g 或 :1,$s/hello/HELLO/g 把所有行的所有字符hello 替换成HELLO
:%s/hello//g 把所有行的所有hello替换成//也就是空,这里用作删除
:%s/^/#/g 把有所以行前面加注释
:%s/^#//g 把所有以#号开头的注释去掉
:14 光标指向指定的行,这里指向14行
gg 或:1 光标移到到第一行
复制
yy 复制当前行
3 yy 从当前行开始复制三行
p 粘贴
删除
dd 剪切当前行
3 dd 从当前行开始剪切3行
按r再按n 把当前的字符替换成n
x 删除当前字符
块选择
ctrl+v 进入块视图模式
方向键选中字符
y 复制
p 粘贴
多文件编辑
[oracle@primary ~]$ vi aa b // 同时修改aa b
:files // 查看编辑了哪些文件
:next // 进入下一个文件
:N // 进入上一个文件
:first // 进入第一个文件
:last // 进入最后一个文件
通过编辑多个文件及文件间切换可以在文件间复制和粘贴
长文件的编辑 分屏
编辑一个文件的前三行和后三行,对比编辑
:sp // 分屏编辑
ctrl+ww // 在分屏间切换
vim环境设置
[oracle@primary ~]$ vi .vimrc // 设置自动显示行号
set nu
系统编码
[oracle@primary ~]$ cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
[oracle@primary ~]$
linux下文档转换为windows下文档
[oracle@primary ~]$ unix2dos -n aa bb // -n 表示生成一个新文件 aa是原文件,bb是新文件
unix2dos: converting file aa to file bb in DOS format ...
windows下文档转换为linux下文档
dos2unix
如何用vim删除注释行和空行
:g/^$/d // 删除空行
:g/^#/d // 删除以#开头的行
cat initdw.ora |grep -v ^$ |grep -v ^# > xx