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
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yookay zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值