前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux中的vim编辑器常用操作

Linux中的vim编辑器常用操作

作者头像
yhni
发布2022-11-17 16:15:40
7940
发布2022-11-17 16:15:40
举报

目录

前言 vim的两种模式

第一章 输入模式

第二章 命令模式


前言 vim的两种模式

vim是从vi发展成的文本编辑器,相比于功能比较齐全的vi而言,vim编辑器更加方便。使用vim编辑器打开文件后,会自动进入命令模式,用户可以通过点击键盘上的字母i切换至输入模式。键盘上的Esc则可以让用户从输入模式切换回命令模式


第一章 输入模式

输入模式下,和windows系统中默认的文本编辑器操作类似,通过Enter换行,Backspace退格,光标键移动光标等等。除了这些常用的按键外,还有以下按键可能会使得编辑的效率提升:

Home

移动光标至行首

End

移动光标至行尾

Page Up

向上翻一页

Page Down

向下翻一页


第二章 命令模式

命令模式下,输入完命令之后按下Enter后便会执行命令。由于无法使用鼠标操作,为了便捷的编辑文本,需要掌握的命令模式操作较多,以下列出常用的一些命令。

Part1:保存及退出

  • :q 退出编辑器
  • :q! 强制退出编辑器
  • :w 保存
  • :wq 保存后退出
  • :[number1],[number2] w [filename] 将文件中的第[number1]行至第[number2]行另存为[filename]
  • :w [filename] 另存为[filename]
  • :r [filename] 将[filename]中的数据粘贴到光标所在行和下一行中间

Part2:光标的移动

  • [number]↓ 光标向下移动[number]行,←↑→同。注:hjkl可以分别代替←↓↑→。
  • ctrl+f 向下翻一页
  • ctrl+d 向下翻半页
  • ctrl+b 向上翻一页
  • ctrl+u 向上翻半页
  • + 光标会跳过空格行,移至下一行
  • – 光标会跳过空格行,移至上一行
  • 数字0 光标移动到该行的最前端
  • $ 光标移动到该行的最后面
  • :1 光标移动到整个文档的第一行
  • :[number] 光标移动到整个文档的第[number]行
  • :$ 光标移动到整个文档的最后一行

Part3:查找与替换

  • /[word] 向光标之下,查找[word]字符串所在的位置
  • n 在查找状态下,继续向下查找[word]字符串,即下一个
  • N 在查找状态下,反向查找[word]字符串,即上一个
  • :[number1],[number2]s/[word1]/[word2]/g 将第[number1]行至第[number2]行的[word1]字符串全部替换成字符串[word2]
  • :1,$s/[word1]/[word2]/g 上一命令的特殊形式,将所有的[word1]字符串全部替换成字符串[word2]

Part4:删除

  • [number]x 向后删除[number]个字符
  • dd 删除光标所在行
  • [number]dd 删除光标及以下的[number]行
  • d1G 删除文件开头到光标处的所有字符
  • dG 删除光标到文件结尾的所有字符
  • d$ 删除光标到行尾的所有字符

Part5:复制粘贴

  • yy 复制光标所在行
  • [number]yy 复制光标及以下的[number]行
  • y1G 复制文件开头到光标处的所有字符
  • yG 复制光标到文件结尾的所有字符
  • p 粘贴在光标所在行和下一行之间
  • J 将光标所在行和下一行结合

Part6:撤销

  • u 撤销
  • ctrl+r 恢复撤销

Part7:显示行号和注释

  • :set nu 显示行号
  • :set nonu 取消行号显示
  • :[number1],[number2]s/^/[注释符]/g 在第[number1]行至第[number2]行的开头添加[注释符],要求[注释符]中不含字符”/”
  • :[number1],[number2]s/[注释符]//g 删除第[number1]行至第[number2]行的开头的[注释符],要求[注释符]中不含字符”/”
  • :[number1],[number2]s#^#[注释符]#g 在第[number1]行至第[number2]行的开头添加[注释符],要求[注释符]中不含字符”#”
  • :[number1],[number2]s#[注释符]##g 删除第[number1]行至第[number2]行的开头的[注释符],要求[注释符]中不含字符”#”
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档