【Shell】vim 常用命令

vim 的使用

有三种模式,命令模式、插入模式、命令行模式。

命令模式,即编辑模式。常见命令如下:

  1. 进入编辑。
    • i在当前光标的位置编辑。
    • I在当前行的第一个非空位置编辑。
    • a开始在当前光标的下一个位置编辑。
    • A开始在当前光标的最后一个位置编辑。
  2. 进入命令行模式。
  3. 插入新行
    • o在当前行之后插入一个新行,并进入编辑状态。
    • O在当前行之前插入一个新行,并进入编辑状态。
  4. 删除和剪切
    • d剪切
      • dd删除一行,并复制到剪切板中。
      • ndd删除n行,并复制到剪切板中。
      • c重复删除多个数据。例如向下删除 11 行,可以使用命令10cj
      • dw删除一个单词。
      • d$从光标位置删除到行尾。
      • d0从光标位置删除到行的开头位置。
      • d#从最后相同的位置开始删除,每次删除一行。
      • dgg从当前位置删除到文件开头。
      • dG从当前位置删除到文件末尾。
    • x剪切
      • x剪切一个字符。
      • nx剪切n个字符。
      • X向前剪切一个字符。
      • nX向前剪切n个字符。
  5. 复制
    • y复制一个字符。
    • y0从光标位置复制到该行的开头。
    • y$从光标位置复制到该行的的末尾。
    • yy复制一行。
    • yw复制一个单词。
    • y5复制 5 行。
    • ygg复制到文件的开头。
    • yG复制到文件的结束。
  6. 粘贴
    • p黏贴内容到光标的后方。
    • 5p黏贴5次。
    • P黏贴内容到光标的前方。
  7. 撤销
    • u撤销上一次的操作。
    • ctrl + r重做上一次撤销的操作。即取消上一次的撤销。
  8. 拼接。
    • J将光标所在行与下一行拼接成一行。
  9. 移动光标
    • 方向键,在文本中移动光标。
    • 0移动光标到行首。或者home
    • $移动光标到行末尾。或者end
    • gg/G移动光标到文件的开头/末尾。
    • 移动行数。
      • nG移动到文档的第n行。
      • 或者使用命令行,:set nu
      • n + Enter从当前位置,向下移动n行。
    • 上下左右移动。
      • h向左移动一个字符。
      • 30h向左移动 30 个字符。
      • backspace光标向前移动。
      • H移动光标到屏幕的最上方第一字符。
      • M移动光标到屏幕中间的第一字符。
      • j向下移动一个字符。
      • 30j向下移动 30 个字符。
      • k向上移动一个字符。
      • 30k向上移动 30 个字符。
      • l向右移动一个字符。
      • 30l向右移动 30 个字符。或者 30+space.
      • space光标向右边移动。
      • L移动光标到屏幕的最后一行的第一个字符。
    • w/b向后/前跳到下一个单词的开头。
    • 上下翻页
      • Page Up/Page Down,上/下翻页。
      • ctrl + f/b上/下翻页。
    • -/+移动到上/下一行的行首。

输入模式

  1. 字符按键以及 Shift 组合,输入字符。
  2. ENTER,回车键,换行。
  3. BACK SPACE,退格键,删除光标前一个字符。
  4. DEL,删除键,删除光标后一个字符。
  5. Insert,切换光标为输入/替换模式,光标将变成竖线/下划线。
  6. ESC,退出输入模式,切换到命令模式。

命令行模式,即在文件模式输入命令的模式

  1. 查找和替换。
    • /pattern向下搜索指定模式。
    • ?pattern向上搜索指定模式。
    • :s/old/new/g替换当前行中所有匹配的字符串。
    • :%s/old/new/g替换文件中所有匹配的字符串。
    • n继续前一次的查找。
    • N前一次的查找,只不过方向相反。
    • :n1,n2s/word/newWord/g从 n1 开始到 n2 行之间,搜索 word 并替换成 newWord。
    • :%s/word/newWord/g或者 :1,$s/word/newWord/g全局替换。如果替换时要提示,则使用gc
    • r替换当前光标位置的字符。
    • R一直替换,并移动光标,直到按下ESC
  2. 保存。
    • :w保存。
    • :q退出。
    • :wq!保存并强制退出。
    • :q!强制退出。
    • :x保存并退出。
    • ZZ保存并退出。
    • ZQ强制退出,不保存。
    • :w filename将编辑的数据另存为一个文档。
    • :n1,n2 w filenamen1n2行内容保存到文档 filename。
    • :! ls /home/xf暂时离开vi到指令模式。
  3. 行号。
    • :set nu添加行号。
    • :set nonu取消行号。
  • 25
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值