:set nu 显示行号
:set nonu 取消行号
:w 保存
:q 离开
:wq 保存离开
:wq 强制保存离开
插入
i 从目前光标所在处插入。 I 在目前所在行的第一个非空格符处开始插入
a 从目前光标所在的下一个字符处插入 。 A从目前光标所在的最后一个字符处插入
o 从目前光标所在处的下一行处插入新的一行.。 O 从目前光标所在处的上一行处插入新的一行
移动光标
G 移动到这个文件的最后一行
nG n 为数字 。移动到这个文件的第 n 行。例如20G 则会移到这个文件的第20行
gg 移动到这个文件的第一行
n[Enter] n为数字。光标向下移动n行 例如 10[Enter] 行
查找
/word 向下寻找名称为word的字符串 按下n后,会向下查找名称为word的字符串
?word 向上寻找名称为word的字符串 按下n后,会向上查找名称为word的字符串
替换
:n1,n2s/word1/word2/g n1与n2 为数字 在第n1与n2行之间寻找word1这个字符串 ,并将该字符串替换为word2
举例来说, 在100到200行之间查找word1 并替换word2 则用 :100,200s/word1/word2/g
:1,$s/word1/word2/g 从第一行到最后一行查找word1字符串,并将该字符串替换word2
删除
x 在一行字当中,x 为向后删除一个字符
nx n 为数字,连续向后删除n个字符。举例来说,我要连续删除20个字符, 10x
dd 删除光标所在的那一整行
ndd n为数字 删除光标所在的向下n行 。举例来说 20dd 则是删除20行
dG 删除光标所在 到最后一行的所有数据
复制
yy 复制光标所在的那一行
nyy n为数字。复制光标所在的向下n行。例如20yy 则是复制20行
yG 复制光标所在行 到最后一行的所有数据
粘贴
p 为将已复制的数据在光标下一行粘贴 ,P 则为将已复制的数据在光标上一行
-----------------
c 重复删除多个数据,例如向下删除10行,10cj
u 撤销上一个操作,或复原上一个操作
设置 vi = 'vim' 在终端 输入 alias vi = 'vim'
块选择
[Ctrl] + v 块选择,可以用长方形的方式选择数据
y 将反白的地方复制起来
d 将反白的地方删除
举例
192.168.1.1 host1.class.net 192.168.1.2 host2.class.net 192.168.1.3 host3.class.net 192.168.1.4 host4.class.net 192.168.1.5 host5.class.net 192.168.1.6 host6.class.net 192.168.1.7 host7.class.net
1 将光标移动到 host1 那个 h 上 然后按[Ctrl] +v , 将光标移动到最底部,此时光标移动 过得地方会反白,
2 此时按下 y 来进行复制,反白的的块就会消失,
3 最后将光标移动到第一行最右边 ,并用编辑模式按两个空格,回到一般模式,再按下 p 就会把块复制过来了
切换窗口
:sp
vim 的环境变量设置
可以写入 ~/.vimrc 文件中
set nu 显示行号
set hlsearch 高亮度反白
set backspace 可随时用退格键删除
set autoindent 自动缩排
syntax on 进行语法检验,颜色显示
set bg=dark 显示不同的底色色调
语系编码转换
iconv -f 原本编码 -t 新编码 filename [-o newfile]
例如 ]# iconv -f big5 -t utf8 vi.big5 -o utf8
]# file vi*