vim基本命令

vim基本上vi可以分为三种状态:
1.命令模式(command mode)
2.输入模式(Insert mode)
3.底行模式(last line mode)

<一>命令行模式(command mode)功能键
■进入输入模式的方式:
  a 从光标所在位置后面开始新增资料,光标后的资料随新增资料向后移动。
  A 从光标所在列最后面的地方开始新增资料。

  i 从光标所在位置前面开始插入资料,光标后的资料随新增资料向后移动。
  I 从光标所在列的第一个非空白字元前面开始插入资料。

  o 在光标所在列下新增一列并进入输入模式。
  O 在光标所在列上方新增一列并进入输入模式。

  s 删除光标所在字元,并进入输入模式。
  S 删除光标所在的列,并进入输入模式。

■退出输入模式
  ESC键

■光标移动
  vim可以直接用键盘上的光标来上下左右移动。但正规的vi是用小写英文字母h、j、k、l,分别控制光标左、下、上、右移一格。
  ctrl + d 向下半页
  ctrl + u 向上半页
  Ctrl + f 向下一页
  ctrl + b 向上一页
  $ / END  移动到光标所在行的最后面
  0 / HOME 移动到光标所在行的最前面
  ^        移动到光标所在行的第一个字母的开头
  b        移动到下个字的第一个字母
  w        移动到上个字的第一个字母
  e        移动到下个字的最后一个字母
  H        移动光标到当前屏幕上面
  M        移动光标到当前屏幕中间
  L        移动光标到当前屏幕下面
  #H       移动光标到当前屏幕的第#行
  #L       移动光标到当前屏幕的倒数第#行
  +        移动光标到下一行的开始 
  -        移动光标到上一行的开始 

■删除文字
  x        删除光标所在位置的后面一个字符
  X        删除光标所在位置的前面一个字符
  dd       删除光标所在行
  #x       例如:6x表示删除光标所在位置的后面6个字符。
  #X       例如:9X表示删除光标所在位置的前面9个字符。
  #dd      从光标所在行开始删除#行
  s        删除光标所在字元,并进入输入模式。
  S        删除光标所在的列,并进入输入模式。

■复制
  yw      将光标所在之处到字尾的字符复制到缓冲区中。
  #yw     复制#个字到缓冲区
  yy      复制光标所在行到缓冲区。
  #yy     例如,6yy表示拷贝从光标所在的该行“往下数”6行文字。
  p       将缓冲区内的字符贴到光标所在位置
  注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

■替换
  r     替换光标所在处的字符。
  R     替换光标所到之处的字符,直到按下「ESC」键为止。

■撤销
  u     如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复
  U     撤销一行的操作

■跳至指定的行
  gg        跳转到文件的开头
  G         跳转到文件的结尾
  #G        跳转到文件中指定的行的行首。例如:「15G」表示移动光标至文章的第15行行首。
  H         移动光标到当前屏幕上面
  M         移动光标到当前屏幕中间
  L         移动光标到当前屏幕下面
  #H        移动光标到当前屏幕的第#行
  #L        移动光标到当前屏幕的倒数第#行
  +         移动光标到下一行的开始 
  -         移动光标到上一行的开始 
  ctrl + g 列出光标所在行的行号。

<二>底行模式(last line mode)功能键
■列出行号
  :set nu 或 :set number      显示行号
  :set nonu 或 :set nonumber  消除行号
  :set ruler                  设置vim在右下角显示光标的位置
  :reg                        查看剪切板中的内容
  :pwd                        获取当前工作目录

■跳到文件中的某一行
 在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

■查找字符
  /string   向下查找字符串"string"
  ?string   向上查找字符串"string"
  n         配合/string或?string使用,正方向重复
  N         配合/string或?string使用,反方向重复

■退出vi及保存文件
  :q     结束编辑(quit)
  :q!    不想存档而要放弃编辑过的文件,强制离开
  :w     存档(write),其后可加所要保存的文件

=================================================================
编辑指令:基本上可以说是由指令与范围所构成。例如 dw 是由删除指 令 d 与范围 w 所组成,代表删除一个字 d(elete) w(ord) 。
指令列表如下:
  d 删除(delete)
  y 复制(yank)
  p 放置(put)
  c 修改(change)

范围可以是下列几个:
  e 光标所在位置到该字的最后一个字母
  w 光标所在位置到下个字的第一个字母
  b 光标所在位置到上个字的第一个字母
  $ 光标所在位置到该列的最后一个字母
  0 光标所在位置到该列的第一个字母
  ) 光标所在位置到下个句子的第一个字母
  ( 光标所在位置到该句子的第一个字母
  } 光标所在位置到该段落的最后一个字母
  { 光标所在位置到该段落的第一个字母

值得注意的一点是删除与复制都会将指定范围的内容放到暂存区里,然后就可以用指令 p 贴到其它地方去,这是VIM用来处理区段拷贝与搬移的办法。


====替换文字列
:s/vivian/sky/      替换当前行第一个 vivian 为 sky
:s/vivian/sky/g    替换当前行所有 vivian 为 sky
:n,$s/vivian/sky/  替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符,如:
:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值