Linux下vi/vim的使用(常用)

Vi/Vim 三种操作状态,分别是
--命令模式(Command mode)
--插入模式(Insert mode)
--底线命令模式(Last line mode)
     各模式的功能区分如下:
           Comand mode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入Insert mode下,或者到Last line mode。
           Insert mode:唯有在Insert mode下,才可做文字数据输入,按Esc等可回到Comand mode。
           Last line mode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。

一般简化成Command 和Insert mode。

一、进入:
     vi test.c或者vim test.c
     vi +n test.c或者vim +n test.c------->打开至n行
     1、Command mode----------->Insert mode
     按a/i/o进入Insert mode:
          i: 插入,从目前光标所在之处插入所输入的文字。
          a: 增加,目前光标所在的下一个字开始输入文字。
          o: 插入新的一行,从行首开始输入文字。

     2、Insert mode----------->Command mode
     按Esc键

二、退出:
     在Command mode下,可按冒号“:”键入入Last line mode,例如:
          :w filename (输入“w filename”,将文章存入指定的文件名filename)
          :wq (输入“wq”,因为进入之时已经指定文件名testfile,所以会写入testfile并离开vi)
          :q! (输入“q!”,强制离开并放弃编辑的文件)

     也可以是ZZ/ZQ       保存/不保存退出(ZZ本人常用)

三、移动光标:
     1、上下左右键移动或者(i/j/k/l)移动,两者效果相似。
     2、按Ctrl+b:屏幕往后移动一页。[常用]
          按Ctrl+f:屏幕往前移动一页。[常用]
          按Ctrl+u:向文件首翻半屏
          按Ctrl+d:向文件尾翻半屏

     3、nG或者ngg:移动到第n行行首
     4、G:移动到末尾
     5、w:光标跳到下个word的开头
     6、$:移到光标所在行的行尾。

四、删除文字:(#表示数字)
     1、x:每按一次删除光标所在位置的后面一个字符。[超常用]
     2、#x:例如,6x 表删除光标所在位置的后面6个字符。[常用]

     3、X:大字的X,每按一次删除光标所在位置的前面一个字符。
     4、#X:例如,20X 表删除光标所在位置的前面20个字符。

     5、dd:删除光标所在行。[超常用]
     6、#dd:例如,6dd表删除从光标所在的该行往下数6行之文字。[常用]

     7、dw:删除一个单词。
     8、#dw:删除#个单词。

     9、d$:删除光标位置到行尾的内容
     10、do:删至行首

五:恢复操作:
     1、u:恢复刚才被修改的文本 
     2、U:恢复光标所在行的所有修改
     3、.:重复上一次命令的操作

六:复制字符:
     1、yy:复制当前光标所在行
     2、nyy:复制当前所在行以及下面n行

     3、yw:复制当前光标所在单词
     4、nyw:复制当前光标以及后面的n个单词

七、粘贴命令:
     p

八、搜索指定字符串:
     在Last line mode 下
     1、按(/+字符串):搜索指定字符串
          按(n):会从当前位置向后查找

     2、按(?+字符串):搜索指定字符串
          按(n):会从当前位置向前查找

九、(:set)用法:目前本人用来显示行号和查看文件属性:
     在Last line mode 下
     按(:set)会出现set的参数及文件信息:

     1、(:set nu):显示行号
     2、利用如下命令查看文件格式 
 :set ff 或 :set fileformat 
 可以看到如下信息 
 fileformat=dos 或 fileformat=unix
 
/*
//文件格式不对造成的错误:
错误:-bash: ./config.sh: /bin/sh^M: bad interpreter: No such file or directory
错误原因:
.sh脚本在windows系统下用记事本文件编写的。不同系统的编码格式引起的。
*/
利用如下命令修改文件格式 
 :set ff=unix 或 :set fileformat=unix








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值