vim 与vi的区别,更加直观
vimaa.txt //打开文件
命令模式(一般模式)
输入模式 (插入模式) ESC返回命令模式
末行模式 (命令行模式) ESC返回命令模式 //输入模式与末行模式不能切换
命令模式与输入模式:
a 当前字符后输入
A 当前行行末输入
i 当前字符前输入
I 当前行行首
o 当前行下一行输入(新建一行)
O 当前行上一行输入(新建一行)
s 删除当前字符后输入
S 删除当前行后输入
home ,end操作
u 撤销(后退)操作,点击ESC之后操作
ctrl R 重做(删除后恢复)
w 下一个字符串的首字符
dw 删除一个单词
yw 复制一个单词
^行首 $行尾
d^,d$,G
yy 复制一行
p 粘贴
#yy 复制多行
dd 删除
dd 剪切一行 p 粘贴
#dd 删除或剪切多行
G 光标定位到尾行
gg 光标定位到首行
#G光标定位到选定行
dgg 删除当前行到首行
dG 删除当前行到尾行
shift k 查找文本存在的命令 man操作
末行模式
:w 保存写入
:w! 保存写入
:q 退出
:q! 强制退出
:wq
:wq!
:w /path/newfile //保存为新文件 write
:3,7w file2 //文件中三到七行另存为一个新文件
:e file //打开文件edit
:r file //追加读入read
:e! //重新读入当前文件
:set nu =set number set nonu
:set autoindent
:setnoautoindent //设置缩进
/ab //查找ab字符串,从上往下n,N
?ab //查找ab字符串,从下往上n,N
:s/ab/$/ //switch 第一个ab替换为$
:%s/ab/$/ //switch 所有行第一个ab替换为$
:%s/ab/$/g //switch globe 所有行所有ab替换为$
:%s/ab/$/gc //switch globe 所有行所有ab替换为$,替换发生时提示是否确认替换
:3,6s/ab/$/ //switch 所有行三到六行ab替换为$
:g/^\s*$/d // 删除所有空行 s=space
:args //查看多个打开文本
:next //编辑下一个文本
:prev //编辑上一个文本
:first //编辑第一个文件
:last //编辑最后一个文件
ctrl 6 // 两个文件之间的切换
:X //给文件加密,wq退出,解密重新设置密码为空
:set list //查看行末是否空格字符
vim /etc/vimrc 最后一行修改配置
多文件操作
vimdiff //多文本同时显示
args //查询当前打开的文件状态
:wqa //所有文件保存退出 ,
ctrl w w //文件之间的切换
vim -O aa.txt bb.txt cc.txt //横
vim -o aa.txt bb.txt cc.txt //竖
vim帮助信息
vimtutor
/usr/share/vim/vim70/tutor/ //文件路径
gedit tutor.zh.euc //文件名称
命令修改字符集
iconv-f encoding -t encoding filename
iconv -f encoding -t encodingfilename >> newfilename
定向符 > //覆盖
>> //追加
echo //输入和输出