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

  • 相关阅读:
    函数
    python操作文件
    POJ-2689-Prime Distance(素数区间筛法)
    POJ-2891-Strange Way to Express Integers(线性同余方程组)
    POJ-2142-The Balance
    POJ-1061-青蛙的约会(扩展欧几里得)
    Educational Codeforces Round 75 (Rated for Div. 2) D. Salary Changing
    Educational Codeforces Round 75 (Rated for Div. 2) C. Minimize The Integer
    Educational Codeforces Round 75 (Rated for Div. 2) B. Binary Palindromes
    Educational Codeforces Round 75 (Rated for Div. 2) A. Broken Keyboard
  • 原文地址:https://www.cnblogs.com/ZiYangZhou/p/12269492.html
Copyright © 2011-2022 走看看