[Vim]Vim使用之常用命令

新手小白面对Vim束手无策,急需一篇Vim命令的新手指南,无意中发现了一篇有趣且循序渐进的vim操作指南,特将其总结至此。(随使用进度更新)
原文链接:https://coolshell.cn/articles/5426.html 作者:陈皓

一、基本操作

模式:Vim分Normal模式和Insert模式,使用Vim打开文件默认是Normal模式;在Insert模式下允许编辑。
指令
i :进入Insert模式;
Esc :退出Insert模式;
x :删除当前光标所在的一个字符;
:w+(文件名) :保存文件;
:q :退出当前文件,可与:w连用;
dd :删除当前行,并且将删除内容保存在粘贴板
p :粘贴剪贴板内容
光标移动
hjkl :左下上右;也可以使用上下左右键;
帮助
help (+ command) :(某指令的)帮助信息。

二、功能指令

在一般的编辑器下,当你需要copy一段文字的时候,你需要使用 Ctrl 键,比如:Ctrl+C。也就是说,Ctrl键就好像功能键一样,当你按下了功能键Ctrl后,C就不在是C了,而且就是一个命令或是一个快键键了,在VIM的Normal模式下,所有的键就是功能键了。

1)插入模式
a :在光标后插入,即进入插入模式;
o :在当前行插入新行;
O :在当前行插入新行;
cw :从当前光标位置到当前单词结尾进行剪切;

2)光标移动
0 :光标移动到行头;
^ :移动到本行第一个非空白字符位置;
注:C语言中空白符指:空格、换行、回车、制表
$ ;到本行行尾;
g_ :到本行最后一个非空白字符的位置;
:/word :搜索全文中word字符,并跳转到该行,若有多个匹配结果,“n”键可匹配下一个结果;

3)复制粘贴
p :粘贴;
yy :复制当前行至粘贴板;

4)撤销恢复
u :撤销;
Ctrl+r :恢复

5)保存
:e+(Path/File) :打开(Path/File) 路径的文件;
:w :保存文件;
:saveas+(Path/File) :另存为;
ZZ、:wq、:x :保存并退出;
:q! :退出并不保存;
:bn :同时打开多个文件时,切换到一个文件;
:bp :同时打开多个文件时,切换到一个文件;

三、批量指令操作

即重复执行同一个命令,有两种方式:
1、N(command) :重复执行command N次;
例如:2dd :执行两次删除整行;
2、. :重复执行上一条命令;

四、光标跳转

1、NG :移动到第N行,等价于“:N”;
2、gg :移动到第一行;
3、G :移动到最后一行;
4、按单词移动:
1)w :到下一个单词的开头;(默认一个单词由字母,数字和下划线组成)
e :到下一个单词的结尾;(默认一个单词由字母,数字和下划线组成)
2)W :到下一个单词的开头;(认为单词以空白符分隔)
E :到下一个单词的结尾;(认为单词以空白符分隔)
5、% :当光标位于(、[、{时,移动到匹配的对应括号
6、* :匹配光标当前所在的单词,移动光标到下一个
7、# :匹配光标当前所在的单词,移动光标到上一个

四、命令的组合

许多命令都可以和移动光标的命令连动。命令组合的形式:

例如: “:0y$”意味着:
0 → 先到行头
y → 从这里开始拷贝
$ → 拷贝到本行最后一个字符

五、字符串替换

:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
 
  :s/vivian/sky/g 替换当前行所有 vivian 为 sky
 
  :n, s / v i v i a n / s k y / 替 换 第 n 行 开 始 到 最 后 一 行 中 每 一 行 的 第 一 个 v i v i a n 为 s k y       : n , s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky     :n, s/vivian/sky/nviviansky   ns/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
 
  n 为数字,若 n 为 .,表示从当前行开始到最后一行
 
  :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
 
  :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
 
  可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
 
  :s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值