目录
vi的使用
搜寻与取代:
删除,复制与贴上:
指令列模式:
vim额外功能
区块选择
多档案编辑
多窗口功能
其它vim使用注意事项
中文编码的问题
DOS与Linux的断行字符
语系编码转换
vi的使用
移动光标:h,j,k,l:向左向下向上向右 30j:向下移动30行 ctrl+f:向下移动一页 ctrl+b:向上移动一页 n空格键:光标向右移动这一行的n个字符 n回车键:光标向下移动n行 0:移动到这一行最前面的字符处 $:移动到这一行最后面的字符处 H,M,L:移动到屏幕最上方/中央/最下方的第一个字符 G:移动到这个档案的最后一行 nG:移动到这个档案的第n行 gg:移动到这个档案的第一行
搜寻与取代:
/word:向光标之下寻找一个名称为word的字符串 ?word:向光标之上寻找一个名称为word的字符串 n:重复前一个搜寻的动作,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:在一行字当中,x为向后删除一个字符,X为向前删除一个字符 nx:n为数字,连续向后删除n个字符 dd:删除游标所在的一整列 ndd:删除游标所在的向下n列 yy:复制游标所在的那一行 nyy:复制游标所在的向下n列 p,P:p将已复制的数据在光标下一行贴上,P为贴在游标的上一行 u:复原前一个动作 ctrl+r:重做上一个动作 .(小数点):重复前一个动作
一般模式切换到编辑模式的可用按钮:i,a,o,r
指令列模式:
:W:将编辑的数据写入硬盘档案中 :q:离开vi :q!:强制离开 :wq:储存后离开 :wq!:强制储存后离开 :w [filename]:将编辑的数据储存成另一个档案 :n1,n2 w [filename]:将n1到n2的内容储存成filename这个档案 :! 命令:暂时离开vi到指令列模式下执行命令的显示结果 :set nu:显示行号 :set nonu:取消行号
vim额外功能 ?
区块选择
v:字符选择,将光标经过的地方反白 V:行选择,会将光标经过的行反白 ctrl+v:区块选择,可以用长方形的方式选择资料 y:将反白的地方复制起来 d:将反白的地方删除
多档案编辑
:n:编辑下一个档案 :N:编辑上一个档案 :files:列出当前vim开启的所以档案
多窗口功能
:sp [filename]:开启一个新窗口,如果有加filename,表示在新窗口开启一个新档案,否则表示两个窗口为同一档案内容 ctrl+w+j:移动到下方窗口 ctrl+w+k:移动到上方窗口 ctrl+w+q:结束离开
其它vim使用注意事项
中文编码的问题
1.linux系统默认支持的语系数据:与/etc/sysconfig/i18n有关 2.终端界面bash的语系:与LANG这个变数有关 3.档案原本的编码 4.与开启的终端机软件有关
DOS与Linux的断行字符
dos2unix [-kn] file [newfile] unix2dos [-kn] file [newfile] -k:保留该档案原本的mtime时间格式 -n:保留原本的旧档,将转换后的内容输出到新档案,dos2unix -n old new
语系编码转换
iconv --list iconv -f 原本编码 -t 新编码 filename [-o newfile] --list:列出iconv支持的语系数据 -f:后接原本的编码格式 -t:后来的新编码格式 #将vi.big5转成utf8编码 #cd /tmp/vitest #iconv -f big5 -t utf8 vi.big5 -o vi.utf8 ?
|