zoukankan      html  css  js  c++  java
  • vi/vim使用命令总结

    vi/vim的相关命令练习总结如下,常用的命令也就是复制,剪切,粘贴,撤销,重做,搜索等。本文主要是按照自己的想法,参照https://vim.rtorr.com/lang/zh_cn 文章的内容进行验证记录的,在此向此文的作者和翻译者表示感谢,其他参考的内容见参考链接,这些是高质量的文章。

    编辑命令

    复制
    • y:复制选定的内容。
    • yy或者Y:复制当前行。
    • y2:复制当前行以及当前行往下移动两行的内容。
    • y^:复制当前位置之前当行头的内容,不包括当前位置。
    • y$:复制当前位置到行尾的内容,包括当前位置。
    • yG:当前位置复制到文档末尾,ynG或者nyG其中n为数字表示从第n行复制到文档末尾。
    • nyy或者yny:复制n行内容,其中n为数字。
    • yw:复制单词,ynw或者nyw其中n为数字表示复制n个单词。
    • 命令行模式 :start,end copy target:复制指定范围内容的数据到指定的位置,:15,20 copy 30 把15 到20行的内容复制到30行。
    剪切和删除
    • d:剪切光标指定位置d←或者d→
    • dw:剪切光标处单词(不包含标点)
    • d^:剪切当前位置到行头的内容,不包括当前位置。
    • d$:剪切当前位置到行尾的内容,包含当前位置。
    • dd:剪切当前行。
    • ndddnd:剪切n行内容,n为数字。
    • dG:剪切当前行到文档末尾的内容。
    • x:剪切当前字符。
    • s:删除当前字符, 然后进入插入模式。
    • S:清空当前行, 然后进入插入模式。
    • cc:将光标所在的行删除, 然后进入插入模式。
    • C或者c$:将光标处到行尾删除, 然后进入插入模式。
    • ciw或者caw:将光标所在的单词删除, 然后进入插入模式。
    • cw:从光标位置开始, 修改单词(即从光标位置删除到单词末尾),然后进去编辑模式。
    粘贴
    • p:在光标后粘贴
    • P:在光标签粘贴
    撤销和恢复
    • u:撤销编辑内容。
    • ctrl r:恢复编辑内容。
    选择文本(可视化模式)
    • v:进入可视化模式, 移动光标高亮选择, 然后可以对选择的文本执行命令。
    • V:进入可视化模式(行粒度选择)。
    • Ctrl v: 进入可视化模式(矩阵选择/块选择)。
    • o:可视化模式下切换光标到选择区开头/结尾。
    • O:可视化模式下切换光标到选择区的角,效果和o类似。
    • aw:可视化模式下选择单词。
    • ab:可视化模式下选择被 () 包裹的区域(含括号)。
    • aB:选择被 {} 包裹的区域(含花括号)。
    移动
    • ↑ ↓ ← →:方向键移动光标。
    • h:向左移动光标。
    • l:向右移动光标。
    • j:向下移动光标。
    • k:向上移动光标。
    • H:光标移动到页面顶部。
    • M:光标移动到页面中部。
    • L:光标移动到页面底部。
    • w:移动到下个单词开头(单词不包含标点,如hello.算作是两部分)
    • W:移动到下个单词开头(单词含标点,如hello.算作是一个整体)。
    • e:移动到下个单词结尾。
    • E:移动到下个单词结尾(单词含标点)。
    • b:移动到上个单词开头。
    • B:移动到上个单词开头(单词含标点)。
    • 0:移动到行首。
    • ^:移动到行首的非空字符。
    • $:移动到行尾的非空字符。
    • g_:移动到行内最后一个非空白符。
    • gg:移动到文件第一行。
    • G:移动到文件最后一行。
    • ngg或者nG:移动到指定行,其中n为数字,如5gg。
    替换合并
    • r:替换当前字符。
    • R:进入替换模式,连续替换多个字符。
    • J:将下一行合并到当前行, 并在两部分文本之间插入一个空格。
    • gJ:将下一行合并到当前行, 两部分文本之间不含空格。
    编辑插入
    • i:从光标前开始插入字符,进入插入模式。
    • I:从行首开始插入字符,进入插入模式。
    • a:从光标后开始插入字符,进入插入模式
    • A:从行尾开始插入字符,进入插入模式
    • o:在当前行之下另起一行, 开始插入字符,进入插入模式。
    • O:在当前行之上另起一行, 开始插入字符,进入插入模式。
    • ea:从当前单词末尾开始插入,进入插入模式。
    • Esc:退出编辑模式,进入命令模式。
    搜索和替换
    • /pattern:命令模式下输入/以及搜索内容,向下搜索。
    • ?pattern:命令模式下输入?以及搜索内容,向上搜索。
    • n:查找下一个。
    • N:查找上一个。
    • :%s/old/new/g:全局替换匹配字符。
    • :%s/old/new:替换所有行的第一个匹配字符。
    • :s/old/new:替换当前行的第一个匹配字符。
    • :n,ms/old/new:替换指定行范围的匹配字符,其中m和n为数字。

    g--全局
    i--大小写不敏感
    I--大小写敏感
    c 大小写不敏感

    保存退出
    • :w:保存。
    • :q:退出。
    • :wq或者:x或者ZZ:保存并退出。
    • :q!或者ZQ:不保存强制退出。
    • :w !sudo tee %:使用 sudo 保存当前文件。
    • :e 文件名:新建文件。
    • :w 文件名:当前文件重命名。

    菜单命令

    • 设置行号:命令行模式set number

    参考

    1.史上最全Vim快捷键键位图
    2.https://vim.rtorr.com/lang/zh_cn
    3.https://github.com/dofy/learn-vim
    4.https://vim.wxnacy.com/
    5.http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html

  • 相关阅读:
    Objective-C 排序
    Objective-C 工厂方法
    Objective-C 关键字:retain, assgin, copy, readonly,atomic,nonatomic
    iOS UINavigationController的使用
    iOS UITabBarController的使用
    iOS UISearchController的使用
    iOS中延时执行的几种方式的比较和汇总
    iOS适配 旧项目工程在iOS9下不能正常显示
    iOS Block界面反向传值
    iOS Block简介
  • 原文地址:https://www.cnblogs.com/ZiYangZhou/p/12269492.html
Copyright © 2011-2022 走看看