现在进入到编辑器,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:保留原档案,建立新编码档案