• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
dzw9
博客园    首页    新随笔    联系   管理    订阅  订阅
Linux-vi/vim编辑器

vim

开始是命令模式
1) i,a,o进入输入模式,ESC 回到命令模式
2) :进入底线命令模式,回车结束运行
最后输入 :wq 储存后离开 vi

如建立文件 vim wenyu.txt
直接输入 vi 文件名 就能够进入 vi 的一般模式。vi 后面一定要加文件名,不管该文件存在与否!

1. 一般模式

1.1 移动光标

可以用数字+动作

  • ctrl+f==pagedown 向下翻页
  • ctrl+b==pageup 向上翻页
  • ctrl+d 向下翻半页
  • ctrl+u 向上翻半页
  • + 光标移动到非空格符的下一行
  • - 光标移动到非空格符的上一行
  • H 移动到屏幕的最上方那一行的第一个字符
  • M 移动到屏幕的中央那行的第一个字符
  • L 光标移动到屏幕的最下一行的第一个字符
  • G 移动到这个档案的最后一行
  • nG 移动到这个档案的第 n 行
  • gg 移动到这个档案的第 1 行
  • n后space,先输入数字n再空格键,光标会向右移动这一行的 n 个字符
  • n后enter 光标会向下移动 n 行
  • 0或Home键 移动到这一行的最前面字符处
  • $或End 移动到这一行的最后面字符处
搜索替换
  • /word 向光标之下寻找一个名称为 word 的字符串
  • ?word 向光标之上寻找一个字符串名称为 word 的字符串
  • n 重复前一个搜寻的动作
  • N 与 n 刚好相反,为『反向』进行前一个搜寻动作
  • :n1,n2s/word1/word2/g 在第 n1 与 n2 行之间寻找 word1 并取代为 word2
  • :1,$s/word1/word2/g 或 :%s/word1/word2/g 从第一行到最后一行
  • :1,$s/word1/word2/gc 或 :%s/word1/word2/gc 在取代前显示提示字符给用户确认 (confirm) 是否需要取代
删除 复制 粘贴
  • x =delete向后删除一个字符 ,X =backspace为向前删除一个字符
  • nx 连续向后删除 n 个字符
  • dd 剪切游标所在的那一整行(常用),用 p/P 可以粘贴。
  • ndd 剪切光标所在的向下 n 行
  • d1G 删除光标所在到第一行的所有数据
  • dG 删除光标所在到最后一行的所有数据
  • d$ 删除游标所在处,到该行的最后一个字符
  • d0 删除游标所在处,到该行的最前面一个字符
  • yy 复制游标所在的那一行
  • nyy 复制光标所在的向下 n 行
  • y1G 复制游标所在行到第一行的所有数据
  • yG 复制游标所在行到最后一行的所有数据
  • y$ 复制光标所在的那个字符到该行行尾的所有数据
  • p,P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行
  • J 将光标所在行与下一行的数据结合成同一行
  • c 重复删除多个数据
  • u 复原前一个动作
  • ctrl+r 重做上一个动作
  • . 重复前一个动作

2. 切换到编辑模式

字符按键+shift 输入字符
回车键换行
del 删除后一个字符
HOME/END 移动光标到行首/行尾
page up/down 上下翻页
insert 切换输入、替换模式
esc退出

  • i,I i为从目前光标所在处输入, I 在目前所在行的第一个非空格符处开始输入
  • a,A a 从目前光标所在的下一个字符处开始输入, A 从光标所在行的最后一个字符处开始输入
  • o,O o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行
  • r,R r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;

3. 切换到指令行模式

:进入底线命令模式,
!常有强制的意思

  • :w 写入
  • :w! 文件只读时强制写入,需要权限
  • :q 离开vi
  • :q! 离开且不保存
  • wq 保存后离开,wq!强制保存离开
  • ZZ 保存退出
  • ZQ 不保存退出
  • :w [filename] 另存为
  • :r [filename] 读入另一个文件,内容加到游标所在行后面
  • :n1,n2 w [filename] 将 n1 到 n2 的内容写入 filename
  • :! command 暂时离开 vi 到指令行模式下执行 command 的显示结果

vim 环境的变更

  • :set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
  • :set nonu 与 set nu 相反,为取消行号
posted on 2023-03-02 18:33  dzw9  阅读(46)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3