vim编辑器的日常使用

vim编辑器相当于Windows下的word和wps等可用来编辑文本的软件,之所以在开发工作中需要会使用vim编辑器,是因为Vim可实现跨平台编辑文本,无论在Mac,Windows上,还是服务器平台上,配置文件大同小异,操作习惯基本相同。

和Windows下的编辑器不一样的是,vim的基本操作都是以键盘命令为主。在初次使用时与日常的鼠标操作有很大的不同,但是使用习惯后,你会爱上这种帅气且高效的编辑方式。

vim编辑器的文本操作是在不同模式下进行的。可分为normal模式或者命令模式,编辑模式(vim底部出现--INSERT--字符),底部命令模式(vim底部有冒号:)。

注:编辑模式和底部命令模式之间切换时,需要先按Esc回到normal模式。为解决模式切换的问题,我的习惯是,每次操作都按Esc,然后根据vim底部提示知晓当前模式。

normal模式:通过vim filename命令打开文件,进入该模式,也可叫命令模式,在此模式下,任何的键盘操作被视为命令,即在vim的Normal模式下,所有的键均为功能键。其他模式按Esc键回到该模式。

在此模式下,常用命令有:

  • 光标移动:

    • h 左移光标一个字符
    • l 右移光标一个字符
    • k 光标上移一行
    • j 光标下移一行
    • ^ / 数字0 / home键 光标移动至段首
    • $ / end键 光标移动至段尾
    • gg / { 光标移至文章的开头
    • 大写字母G / } 光标移至文章的最后
    • nG 移动到第n行的行头,n代表数字
    • w 光标跳到下个字的开头
    • b 光标回到上个字的开头
    • Ctrl+f 向前翻屏
    • Ctrl+b 向后翻屏
    • Ctrl+d 向前翻半屏
    • Ctrl+u 向后翻半屏
  • 删除文字:

    • x 每按一次,删除光标所在位置后面的一个字符。nx表示删除多个字符。eg:6x表示删除光标所在位置后面的6个字符
    • X 大写的X,每按一次,删除光标所在位置前面的一个字符。nX表示删除多个字符
    • dd 删除光标所在行。ndd表示删除多行
  • 复制、粘贴文字:

    • yy 复制光标所在行到缓冲区。nyy表示复制多行。eg:6yy表示拷贝从光标所在的该行“往下数”6行文字

除了整行复制,还可以像Windows下一样,选中复制。选中复制分为两种:
1.按v进入可视化模式(vim底部出现--VISUAL--字符)。进入可视化模式之后,移动光标到指定位置,即选中光标开始和结束位置内容,按y键,将选中内容存到vim缓冲区。
2.按Ctrl + v进入可视化块模式(vim底部出现--VISUAL BLOCK--字符),进入这个模式可以配合光标的上下左右移动,在文本中选取文本块进行复制。

  • p paste,将vim缓冲区内的字符贴到光标所在位置

注:所有与y有关的复制命令都必须与p配合才能完成复制与粘贴功能。

  • 查找文字:
    • /text text为需要查找的文本
    • n 向后查找下一个
    • N 向前查找下一个

注:替换在底部命令模式中完成

  • 撤销:
  • u 撤销上次操作

编辑模式:从normal模式按i/(小写字母)o/(大写字母)O等都可进入该模式,进入该模式后vim底部出现--INSERT--字符。在该模式下可进行文档编辑操作,与word类似。

注:在该模式下对文档进行编辑后,要进入底部命令模式对文档进行保存

进入该模式的方式:

  • i 在光标处插入

一个小技巧:按8,再按i,进入编辑模式,输入=, 按两次Esc进入命令模式,就会出现8个=。 这在插入分割线时非常有用,如30i+两次Esc就插入了36个+组成的分割线。

  • 小写字母o 在光标所在行下面新建一行插入
  • 大写字母O 在光标所在行上面新建一行插入

底部命令模式:在normal模式下按冒号,进入该模式。此时,vim底部出现冒号,即可在冒号后键入命令,按Enter后生效。

在此模式下,常用命令有:

  • w 保存
  • q 退出
  • wq 保存退出
  • q! 强制退出,不保存
  • set nu 显示行号
  • pwd 显示vim的工作目录
  • w filename 存入文件filename中,即另存为
  • set mouse=a 可用鼠标选中文本,选中文本后,vim底部出现--VISUAL--字符,进入可视化模式,后与 yp配合完成复制粘贴
  • set mouse=v 可用鼠标选中文本,与word类似,与鼠标右键配合完成复制粘贴
  • s/old/new 将光标所在行第一个 old 替换为 new
  • s/old/new/g 将光标所在行所有 old 替换为 new
  • %s/old/new/gc 全文执行替换,询问是否替换
  • 3,10s/old/new/gic 将第3行到第10行内容替换,忽略大小写,且每个询问是否替换

文章著作权归本人所有,转载须说明来源

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Vim几句话介绍Vim是Unix系统上的文本编辑软件(你该不会不知道什么是文本编辑软件吧!),在windows上也...
    何必遠方阅读 8,416评论 0 3
  • 1. vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下:v ...
    路痴千行阅读 8,580评论 0 0
  • vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从...
    壹首簡單的歌阅读 4,346评论 0 7
  • 《人性的弱点》犹如连接人与人之间的纽带,我想这部书的成功很大程度上取决于卡耐基成功的分析了人性的弱点并如何利用这种...
    NeoForest阅读 4,187评论 0 8
  • 非常认同作者的观点:互联网产品不是满足用户的需求,而是更好地满足用户的需求。不光互联网产品,大多产品如是。本次在三...
    草莓龙虾大胃王阅读 2,507评论 1 0