很多软件的编辑接口会主动调用vi
vi分一般命令模式、编辑模式、命令行模式。
使用vi :/bin/vi welcome.txt
下下端显示文本有多少行,多少字符,
一般命令模式:
上下左右移动光标kjhl
0或home移动到本行最前 $或end移动到本行最后 G移动到最后一行 nG移动到第n行 gg相当1G 数字+空格后移n字符 数字+回车 下移n行
ctrl + f/b/d/u 下移一页,上移一页,下移半页,上移半页 +-光标移动非空格下一行/上一行
/ ? n N 查找与继续查找
:n1,n2s/word1/word2/g在n1和n2行之间将word1替换为word2 /gc为是否替换确认 $为最后一行
nx向后删除n个字符
ndd剪切光标所在的向下n行 默认dd为n=1 d1G dG d$ d0等
nyy复制光标所在的向下n行 默认yy为n=1 y1G yG y%(所在字符到行尾) y0(所在字符到行首)
p粘贴在光标后,P粘贴在光标前。
u恢复前一个操作(撤销) ctrl+r重做上一个操作(前进) . 重复前一个操作
编辑模式:
i 光标所在处插入I第一个非空格处插入
a下一个字符处插入 A所在行最后一个字符处插入
o下一行插入新行 O上一行插入新行
r替换光标字符一次,R一直替换
左下角提示,esc退出。
命令行模式:
:进入
w wq w! q!
w filename 另存新文件 r filename 读入另外文件到本文件
n1,n2, w filename另存指定行
! command 暂退执行命令
set nu set nonu设置与取消行号。
vim的缓存保存在对应目录下的.filename.swp文件中
alias查看一些命令关联
vi的可视区块编辑
v字符选择 V行选择 ctrl +v 可视区块 y复制 d删除 p 粘贴
多文件编辑:
:n下个文件 :N上个文件 切换文件 :files列出所有
多窗口功能:
:sp {filename}
ctrl + w + 上 、下 切换窗口 q结束退出
代码补齐:
ctrl +xn ctrl +xf ctrl +xo(以扩展名为语法扩充,补齐)等
vim环境的操作记录位置: ~/.viminfo
vim目前设置值:在vim中输入:set all
http://cn.linux.vbird.org/linux_basic/0310vi_3.php
DOS与Linux的换行符文件转换:
dos2unix
unix2dos
-k保留原始的文件格式
-n保留旧文件
如:dos2unix -n old new等
语系编码转换:
iconv --list 列出支持语系
-f来源 -t 到达 -o输出新文件
如繁体转换为简体:iconv -f utf-8 t big5 oldfile | iconv -f big5 -t gb2312 | iconv -f gb2312 -t utf8 -o newfile