vim程序编辑器之vim(vi)的使用

目录

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
 

你可能感兴趣的:(Linux,经验分享,vim,编辑器,linux,运维)