https://blog.csdn.net/xie_xiansheng/article/details/78413306

一、查找

https://blog.csdn.net/weixin_42517271/article/details/127993888

1)查找字符串

从开头搜索

在命令模式下,输入/你要查找的字符

按下回车,可以看到vim把光标移动到该字符处

再按n(小写)查看下一个匹配

按N(大写)查看上一个匹配(capslock切换大小写,也可以在小写状态下按shift+n)

从结尾处搜索

?要搜索的字符串或字符

搜索后,打开别的文件发现也被高亮了,怎么关闭

命令行模式下,输入:nohlsearch或者:set nohlsearch

可以简写成noh喝set-noh

整词搜索

格式:/ + \< + 关键词 + >
/\<Iden\>

二、退出和保存

https://www.cnblogs.com/chen-nn/p/11531932.html

img

编辑模式切换:https://www.cnblogs.com/0201zcr/p/4781341.html

三、撤销与恢复

http://c.biancheng.net/view/6332.html

img

四、文件内跳转定位

移动光标到指定行

https://www.python100.com/html/H5ZC554LI8O2.html

  • 跳转到第1行:gg

  • 跳转到最后一行:G (或者命令模式下:$)

  • 跳转到第X行:XG或者Xgg

  • 跳转下一行:gj

  • 跳转上一行:gk

  • 跳转到某一行的行首:普通模式下输入|

  • 跳转到某一行的行末:普通模式下输入$

  • 跳转到下一行的行末:普通模式下先后按住$w键,不用加shift.

显示行号:
https://blog.csdn.net/electrocrazy/article/details/79035216
https://blog.csdn.net/qq_40855100/article/details/122943024
(监时显示行号:退到命令模式,执行set number)

不显示行号:
https://www.cnblogs.com/Timenow/p/6841035.html

显示行数       :set number    或者  :set nu

不显示行数    :set nonumber 或者  :set nonu

光标回退与前进

回退到上一个位置:Ctrl + O(小写字母“O”)

前进到更早的位置:Ctrl + I(大写字母“I”)

相对当前位置移动光标到指定位置

假设您在第 54 行,并且要将光标向上移动 10 行;这是您如何实现这一目标的方法。

确保您处于正常模式;您可以通过按 Escape (Esc) 键来执行此操作。

现在,输入任何数字;在我们的例子中,我们想将光标向上移动 10 行,所以输入“10”,然后按“k”键。这会将光标向上移动 10 行。

如果在输入数字“x”后按“j”键(在正常模式下),光标将向下移动“x”行。

打开的时候跳转到指定行

vi +844 system/core/init/service.cpp,即跳转到844行。

五、删除

https://blog.csdn.net/chenyoper/article/details/78260007

dd:删除游标所在的一整行(常用)
ndd:n为数字。删除光标所在的向下n行,例如20dd则是删除光标所在的向下20行
d1G:删除光标所在到第一行的所有数据
dG:删除光标所在到最后一行的所有数据
d$:删除光标所在处,到该行的最后一个字符
d0:那个是数字0,删除光标所在到该行的最前面的一个字符
x,X:x向后删除一个字符(相当于[del]按键),X向前删除一个字符(相当于[backspace]即退格键)
nx:n为数字,连续向后删除n个字符

  • 删除指定多行
    删除第3行到第5行的文本,可以输入:3,5d
    删除第0行到第5行的文本,可以输入:0,5d

六、替换

https://zhuanlan.zhihu.com/p/102387120
https://www.cnblogs.com/zfyouxi/p/5181363.html
:s/old/new/g命令只针对当前行修改有效,:%s/old/new/g才能替换所有。

七、选取

  • 选择多行
    用v命令进入的字符可视化模式(Characterwise visual mode)。文本选择是以字符为单位的。
    用V命令进入的行可视化模式(Linewise visual mode)。文本选择是以行为单位的。
    用ctrl+v命令进入的列块可视化模式。
    可视模式:https://blog.csdn.net/azalea713/article/details/128963933

八:编辑

九:复制粘贴

https://www.cnblogs.com/MoKinLi/p/14567945.html

    yy 复制,8yy:表示从当前光标所在的行开始复制8行
    dd 剪切,8dd:表示从当前光标所在的行开始剪切8行
    p 粘贴 (会在光标的下一行执行粘贴)
  1. 选定文本块。使用v进入可视模式,移动光标键选定内容。
    2.复制的命令是y,即yank(提起) ,常用的命令如下:

    y      在使用v模式选定了某一块的时候,复制选定块到缓冲区用; 
    yy    复制整行(nyy或者yny ,复制n行,n为数字); 
    y^   复制当前到行头的内容; 
    y$    复制当前到行尾的内容; 
    yw   复制一个word (nyw或者ynw,复制n个word,n为数字); 
    yG    复制至档尾(nyG或者ynG,复制到第n行,例如1yG或者y1G,复制到档尾)  
  2. 剪切的命令是d,即delete,d与y命令基本类似,所以两个命令用法一样,包括含有数字的用法.
    d      剪切选定块到缓冲区; 
    dd    剪切整行 
    d^    剪切至行首 
    d$     剪切至行尾 
    dw    剪切一个word 
    dG     剪切至档尾  
  3. 粘贴的命令式p,即put(放下)
    ```bash
    p 小写p代表贴至游标后(下),因为游标是在具体字符的位置上,所以实际是在该字符的后面
    P 大写P代表贴至游标前(上)
    整行的复制粘贴在游标的上(下)一行,非整行的复制则是粘贴在游标的前(后)

十:文本替换

十一:清空

https://www.cnblogs.com/ryanzheng/p/10015811.html
ggdG

十二:翻页

ctrl+b:向前翻页
ctrl+f:向后翻页


0 条评论

发表回复

您的电子邮箱地址不会被公开。