Vim 日常使用参照

为什么写这个Guideline

作为一个后端程序员,不可避免的会去操作服务器的资源,配置服务器的应用和配置。这个过程中一定会遇到编辑文本文件的情况,如果复制出来在图形界面编辑,然后再粘贴回去就太LOW了。所以掌握一个服务器端的文本编辑器是十分有必要的。这就涉及到一场圣战Vim和Emacs之争了,这里不参与讨论这个。之所以选择Vim,是因为小学为数不多接触计算机的时候用的就是Vi编辑器,所以也算是不忘初心了。本指引主要内容都来自于以为千锋教育的老师的视频教程,这里仅仅是做综合和编辑,以便于自己和他人参考使用。向这位老师表示感谢。言归正传,开始。

Vim编辑器的模式

Vim 不同模式的转换方式

  1. command mode
  2. edit mode
  3. visual edit mode (可视模式,可视行模式,可视块模式)
  4. extended command mode

Vim 是以命名模式为中心,通过不同的指令进入其他模式:

  • i,a,o,O等命令进入编辑模式
  • V,v,ctrl + v 等命令进入编辑模式
  • : 进入扩展命令模式

命令模式

光标定位

  1. h,j,k,l 作为上下左右,这个应该形成习惯,提高效率
  2. ^ 移动到行首,$ 移动到行尾
  3. gg 移动光标到第一行行首,G移动到最后一行行首
  4. / 从上到下搜索关键字,支持正则表达式,例如^,$;n跳转到下一给关键字,N跳转到上一个关键字
  5. ? 从下到上搜索关键字,n跳转到上一个关键字,N跳转到下一个关键字

文本编辑

  1. y: yy 复制一行, 3yy 从当前行复制以下三行,包含当前行,ygg,当前行复制到第一行,yG从当前行复制到最后一行
  2. d: dd删除当前行,3dd删除当前行开始的三行,dgg,删除到首行,dG删除到最后一行
  3. p: 粘贴,粘贴到当前光标所在行的下一行
  4. x: 删除光标所在字符
  5. D: 删除光标之后一行的内容
  6. u: undo 撤销操作
  7. ctrl + r redo
  8. r: 替换单个字符
  9. R:进入替换模式,随意替换当前行内容

进入其他模式

a 进入编辑模式,位置在光标之后
i 进入编辑模式,位置在光标之前
o 进入编辑模式,位置在光标所在行下一新建行
O 进入编辑模式,位置在光标所在行的上一新见行
A 进入编辑模式,位置在贯标所在行的行尾

:进入扩展命令模式
v 进入可视模式
V 进入可视行模式
ctrl+ v 进入可视块模式

编辑模式(插入模式)

ctrl + p 自动补全
ctrl + n 自动补全

可视块模式

通过ctrl + v 进入可视块模式:

  • 块插入(在指定块钱加入):选中块,I,编辑,ESC退出(一开始编辑的内容只显示在第一行,ESC退出后才全部显示)
  • 块替换: 选中块,r,编辑,ESC,替换块中所有的字符
  • 块删除:选中块,d或者x
  • 块复制,选中块,y

扩展命令模式

保存退出

  • :10 进入第十行
  • :w 保存(ctrl +s 不是保存,会导致屏幕锁定,ctrl +q 才能退出)
  • :q 退出
  • :wq 保存并退出
  • :w! 强制保存
  • :q! 不保存退出
  • :wq! 强制保存退出
  • :x (ZZ)保存并退出

查找替换

  • :范围 s/old/new/选项
    例子:
    :1,5 s/root/hulk/
    :5,$ s/root/hulk/
    :1,% s/root/hulk/ (:% s/root/hulk) % 表示全文
    😒/root/hulk/g g表示全局
    :% s#/var/log#/var/logs 可用#作为分割符号,因为替换的文本中含有/
    :,8 s/root/yang/g 从当前行到第八行
    :5,10 s/.*/#&/ & 表示old的文本

读入文件/写文件

  • :w 保存
  • :w /tmp/aa.txt 保存文件内容到aa.txt文件中
  • :1,3 w /tmp/bb.txt 保存1,3行到文件bb.txt中
  • :r /etc/hosts 导入hosts文件内容到当前位置
  • :5 r/etc/hosts 导入hosts文件内容到第5行后面的位置

设置环境

临时设置

:set nu 设置行号
:set ic 设置忽略大小写
:set ai 设置自动缩进
:set list 显示控制字符
:set nonu 取消显示行号
:set noic 取消忽略大小写

永久设置

/etc/vim
~/.vimrc

其他

vim -O 打开两个文件
vim -O /etc/hosts /boot/grub, :qall 退出全部文件 :q 退出一个文件
vimdiff 文件比较

总结

记录和记忆都对真正学会以上技巧没有太大的效果,应该参照着不断刻意联系,形成肌肉记忆。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值