文本编辑器:字处理器
ASCII
nano,sed
vi:Visual Interface可视化接口
vim:VI iMproved
全屏编辑器
vim模式:
编辑模式(命令模式)
输入模式
末行模式
模式转换:
编辑==》输入
i:在当前光标所在字符的前面,转化为输入模式
a:在当前光标所在字符的后面,转化为输入模式
o:在当前光标所在行的下方,新建一行,转化为输入模式
I:在行首转化为输入
A:在行尾转化为
O:在当前行的上方
输入==》编辑
ESC
编辑==》末行
输入:
末行==》编辑
ESC
set nu显示行号
一、打开文件
vim +n inittab出现在n行
vim +文件名出现在文件的最后一行
vim +/pattern:打开文件,定位至第一次匹配到pattern的行
二、关闭文件
1、末行模式关闭文件
:q退出
:wq保存并退出---》:x
:q!不保存退出
:w保存
:w!强行保存
2、编辑模式下退出
ZZ:保存并退出
三、移动光标
1、逐字符移动:
h:左
l:右
j:下
k:上
2、逐单词移动
w:移至下一个单词的词首
e:跳至当前或下一个的词尾
b:跳至当前或者下一个单词的词首
3、行内跳转
0:行首
^:非空行首
$:绝对行尾
4、行间跳转
nG:直接跳转第n行
G:最后一行
末行模式:直接给出行号
5、翻屏
Ctrl+f:向下翻一页
Ctrl+b:向上翻一页
Ctrl+d:向下翻半页
Ctrl+u:向上翻半页
6、删除
x:删除光标所在的单个字符
nx:删除光标及后面的共n个字符
d跳转命令:删除相应的内容
ndw,nde,ndb
dd:删除当前光标所在的行
ndd:删除当前所在及后面共n行
末行模式:1,8d 删除1到8行
.代表当前行
$最后一行
+n向后的n行
7、撤销
u,最多保存50次
撤销刚才的撤销操作Ctrl + r
8、粘贴
p:如果删除或复制为整行,则粘贴至光标所在行的下方,如果为非整行,则复制在后面
P:上方,前面
9、复制命令
用法同d相同
10、修改:删除再转换成编辑模式
c:用法同d
11、替换:
r:替换单个字符
R:进入替换模式,ESC
12、重复前一次的编辑操作
.
13、可视化模式
v:按字符选取
V:按矩形框选取
14、查找
/pattern
?pattern:倒着去找
n
N
15、查找并替换
Addr1,addr2s/查找内容/替换的内容/gi
16、使用Vim编辑多个文件
vim file1 file2 file3
:next 切换至下一个文件
:perv 切换至前一个文件
:last 切换至最后一个文件
:first 切换至第一个文件
:qa 全部退出
17、分屏显示一个文件
Ctrl+w,s水平拆分窗口
Ctrl+w,v水平拆分窗口
Ctrl+w 箭头选择窗口
:qa 关闭所有窗口
18、分窗口显示多个文件
vim -o:水平分隔显示
vim -O:垂直分隔显示
19、将当前文件中部分内容另存为另外一个问津
:address1,address2w /pathtosomewhere
20、将另外一个文件的内容填充在当前文件中
:r /filetoinsert
21、跟shell交互
:!COMMAND
22、高级话题
1、显示行号
:set number
:set nu
:set nonu
2、显示忽略或区分字符大小写
set ic
set noic
3、自动缩进
set autoindent
set ai
set noai
4、查找到的文本高亮显示或取消
set hlsearch
set nohlsearch
5、语法着色
syntax on
syntax off
23、vim的配置文件
/etc/vimrc:系统配置
~/.vmrc 没有的话可以创建,只对该用户生效
24、vimtutor是vim编辑器的学习教程
乱码解决方法
1、cd /usr/share/vim/vim70/tutor
2、mv tutor.zh.euc tutor.zh.euc.bak
3、iconv -f GB2312 -t UTF-8 tutor.zh.euc.bak >tutor.zh.euc