现在进入到编辑器,vi/vim太多属性了,慢慢啃。
vim相对于vi来说总的多了个变色,这样可以更加直观的看出来哪里不对。
一般模式:只能看不能操作
编辑模式:i, I, o, O, a, A, r, R这几个键可以进入编辑模式
按ESC返回一般模式
指令列模式:输入: / ?任意一个键,光标在下面最后一行。
按ESC返回一般模式
h:左
j:下
k:上
l:右
Ctrl] + [f]:向下翻页
[Ctrl] + [b]:向上翻页
[Ctrl] + [d]:向下移动半页
[Ctrl] + [u]:向上移动半页
+:向下移动一行
-:向上移动一行
数字:输入后空格直接右移多少个位置
0或者home键:移动到这一行最前面
¥或者end键:移动到这一行最后面
H:移动到屏幕左上方
M:移动到屏幕中央左边
L:移动到左下方
********G:移动到最后一行
nG:进入第几排
*********gg:移动到第一行
n+回车:向下移动几行
*******/word:向下搜索word
*******?word:向上搜索word
n(字母):向下继续搜索
N(字母):向上继续搜索
********:n1,n2s/word1/word2/g: n1和n2为数字,在这些行直接搜索word1 替换成word2
*********:1,$s/word1/word2/g:从第一行到最后,找出word1,替换成word2
:1,$s/word1/word2/gc:替换前有提示
x, X:小写向后删除一个,大写向前删除一个
nx:向后删除n个数
dd:删除光标的那一行
ndd:删除向下n行
d1G:删除光标所在到第一行的所有数据
dG:删除光标到最后的所有数据
d$:删除光标到这行最后
d0(数字):删除光标到这行最前面
yy:复制光标这一排
nyy:n为数字,复制光标向下n行
y1G:复制光标所在列到第一行所有数据
yG:复制光标所在列到最后一行所有数据
y0:复制光标到行首的所有数据
y$:复制光标到行尾的所有数据
************p, P:小写在光标下一行贴,大写是在光标上一行贴
J:将光标所在列和下一列数据结合在一列
c:重复删除动作,如向下删除10行 10cj 向上删除10行 10ck
***************u:复原前一个操作
*************[Ctrl]+r:重做上一操作,不是能循环做,是和u搭配的操作
*****************. :小数点 这个才是重复做操作
编辑模式
i, I:进入编辑模式,i为在光标位置输入,I为在光标后第一个非空位置输入
a, A:编辑模式,a为现在光标下一个开始,A为从这一排最后开始
o, O:o为在光标位置下插入一行输入,O为在光标位置上插入一行输入
r, R:r 只会取代光标所在癿那一个字符一次;R 会一直取代光标所在文字
存储和退出
w:存储
ZZ:如果没有改变,直接退出。如果又改变,则存储后退出
r filename:存储为以filename为文件名的文件
n1,n2 w filename:将n1到n2的内容存为以filename为文件名的文件
! command:暂时退出vi,做其他指令查询 ! ls /home
:set nu:显示行号
:set nonu:取消显示行号
DOS 不 Linux 癿断行字符
dos2unix [-kn] file [newfile]
unix2dos [-kn] file [newfile]
-k:保留mtime
-n:保留原文件 转换后的另存为newfile
语系编码转换
iconv
iconv -f 原编码 -t 新编码
--list:列出支持的语系
-f:后接原来的编码格式
-t:后接新的编码格式
-o file:保留原档案,建立新编码档案