Linux 使用 vim命令行

一、介绍

vim 是 vi 的升级版,但它也是最难用的编辑器,

二、初识 Vim

2.1 见模式:

  • normal 普通模式,vim 默认就是normal,可以进行移动和各种命令,比如删除文本等。
  • insert 插入模式,该模式,可以进行文本的编辑。
  • visual 可视模式,与普通模式相比,可增加文本的选择区域,可以是一整块文本。比如在normal 模式下,使用 v 进入 visual 选择,使用大写的 V 选择行,使用 Ctrl + v 进行方块选择
  • cmd 命令模式,在普通模式下,输入:即可,比如 :wq 保存退出,vs 竖分屏,sp 横分屏,% s/xx/yy 替换字符等

2.2 模式的切换常

  • 从 normal 到 insert ,可以使用 i (insert) 或者 a (append),o (open)
  • 从 insert 到 普通模式,按 Esc 或者 Ctrl + [ 即可回到普通模式
  • cmd 模式,切换到普通模式,输入:即可
  • visual ,普通模式下,输入 v 即可

2.3 插入模式小技巧

当我们使用i、a、或者 o 之后,就可以进入编辑模式了,它跟其他编辑器差不多,但这里也有一些小技巧。

2.3.1 快速纠错

当我们拼写的单词有问题时,可以使用一些技巧来快速到达:

  • ctrl + h 删除上一个字符

  • ctrl + w 删除上一个单词

  • ctrl + u 删除整行
    一个上述顺序的 gif 如下:
    在这里插入图片描述
    这些操作,在 git 等终端命令下也适用。

  • gi 快速回到上次编辑的地方,当在normal 下,直接按 gi,就可以回到上次编辑的地方了

上面的行号,可以在cmd模式(冒号)下,使用 set nu(number),显示行号。
如果想永久显示行号,可以新建一个个人的文件,在终端输入 vim ~/.vimrc ,然后输入 set nu 保存即可,后续的一些配置,比如 设置 tap 的空格数,也可以在这里设置

2.3.2 快速移动

vim 最让人头疼的是他的反人类的方向移动的方法,hjkl,当然也可以使用方向键

光标移动

  • h 光标向左

  • j 光标向下

  • k 光标向上

  • l 光标向右
    在这里插入图片描述
    单词间的移动
    首先先解释一下,word 表示以非空白符分割的单词,WORD 以空白符分割的单词

  • w/W 移动下一个 word/WORD 的开头

  • e/E 下一个单词的结尾

  • b/B 回到上一个 word/WORD 开头

比较常用的就是 w 和 e 了。

行间搜索移动
同一行快速移动的方式其实是搜索一个字符并且移动到该字符

  • 使用 f{char} 移动到 char 字符上,t 移动到char的前一个字符,比如在某一行搜索 g,就可以使用 fg
  • 可以使用 ; 或者 , 继续搜索该行的 下一个/上一个
  • 如果在行尾,则可以使用 F 来搜索

水平移动
如何快速移动到行首和行尾呢?

  • 0 移动到行首第一个字符,^ 移动到第一个非空白字符,也可以使用 home/end
  • $ 移动到行尾,g_ 移动到行尾非空白字符

但我们一般使用 0 或者 $ 就可以了,用上上面的 w/W 等去定位。

页面移动
记住一些常用的

  • gg/G 移动到文件开头和结尾,按 ctrl + o 快速返回
  • H/M/L 跳转到屏幕的开头(head),中间middle和结尾 lower
  • ctrl + u,ctrl+f,上下翻页,(upword/forward),zz 把屏幕置为中间

2.4 Vim 快速增删该查

2.4.1 快速删除

在 normal 模式下,可以使用u(undo)撤回刚才的操作

  • 使用 x 快速删除一个字符,如果使用num x,比如 5x,就是删除5个字符
  • 使用d,进行组合操作,比如,dd删除一行,dw 删除一个单词,daw 删除一个单词以及相关空格,dt* 删除从当前位置到 * 字符的内容,比如 dt) 就是删除当前到 ) 之间的字符。d 也支持num,比如 2dd 就是删除2行

2.4.2 快速修改

常用的有三个 r(replace),c(change),s(substitute)

  • normal 模式下,r 可以替换一个字符,R 相当于window的 ins
  • s删除当前字符,并进入插入模式,S 删除整行,并进入插入模式
  • c 配置文本对象,可以快速进行修改 ,比如 cw 就是删除某个档次并进入插入模式,于 dt* 差不多,只不过c 模式是会进入插入模式.

2.4.3 查询

  • 使用 / 或者 ?进行前向或者反向搜索
  • 使用 n/N 跳转下一个或者上一个匹配
  • 使用 * 或者 # 进行当前单词的前向或者后向匹配
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值