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
编辑模式切换:https://www.cnblogs.com/0201zcr/p/4781341.html
三、撤销与恢复
http://c.biancheng.net/view/6332.html
四、文件内跳转定位
移动光标到指定行
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 粘贴 (会在光标的下一行执行粘贴)
-
复制指定多行
复制第3行到第5行的文本,可以输入:3,5y
。
-
选定文本块。使用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,复制到档尾)
- 剪切的命令是d,即delete,d与y命令基本类似,所以两个命令用法一样,包括含有数字的用法.
d 剪切选定块到缓冲区; dd 剪切整行 d^ 剪切至行首 d$ 剪切至行尾 dw 剪切一个word dG 剪切至档尾
- 粘贴的命令式p,即put(放下)
```bash
p 小写p代表贴至游标后(下),因为游标是在具体字符的位置上,所以实际是在该字符的后面
P 大写P代表贴至游标前(上)
整行的复制粘贴在游标的上(下)一行,非整行的复制则是粘贴在游标的前(后)
十:文本替换
十一:清空
https://www.cnblogs.com/ryanzheng/p/10015811.html
ggdG
十二:翻页
ctrl+b:向前翻页
ctrl+f:向后翻页
0 条评论