当前位置:网站首页>vim编辑器使用
vim编辑器使用
2022-08-09 18:19:00 【晓宜】
vim分为三种模式:正常模式,编辑模式,命令行模式
如果想用vim进行文本编辑,则输入: vim+文本名称 即可对文本进行编辑。如果文本不存在,就会创建新的文本。
进入vim后处于正常模式,如果想要进行文本编辑,点击“i”或者“a”,进入文本编辑模式,“i”意思是插入insert,会进入光标的左侧,“a”是append的意思,会进入光标的右侧。如果想退出编辑模式,则点击“esc”,退出编辑模式。如果想退出vim,或者进行查询替换,复制粘贴等操作,需要进入命令行模式,在正常模式下按“:”即可。
在命令行模式下,:q 表示退出,表示不保存退出,如果你对文本做出了修改,这样输入命令会报错,如果想要不保存修改直接退出则输入:q!,如果想要保存修改再退出,则输入:wq
i -编辑模式(光标左)
a -编辑模式(光标右)
esc -正常模式
: -命令行模式
:q -退出
:q ! -强制退出
:wq -保存后退出
vim的设计就是让我们多使用键盘,所以我们不能通过鼠标点击去移动光标,而是要通过键盘。vim中,jk代表上下移动,hl代表左右移动
如果我们想插入到最前面,就用大写I,即shift+i,如果想要插入到最后面,就用大写A,即shift+a。
如果我们想在光标所在的行下面新增一行,我们可以在正常模式下按小写o,表示open a new line。这样就新增了一行。如果我们想要在光标所在的行上面新增一行,就输入大写O,新增上一行。
如果想让vim显示行号的话,可以去vimrc文件中修改,要找到这个文件,我们需要退出编辑器,输入命令 vim --version,通常会有这样的显示:
system vimrc file: "/etc/vimrc"
我们使用vim进入到这个文件
vim /etc/vimrc
光标要移动到最后需要按大写G,如果想要移动到最顶端,需要按gg。这里我们新增一行,按G,然后输入 set number 就可以显示行号了。
hjkl -左下右上
o -新增下一行
O -新增上一行
shift+a -插入最后面
shift+i -插入最前面
vim -version 显示vim配置地址
G -到最后一行
gg -到第一行
如果我们想从第一行跳到第六行,可以直接输入5j,这样就往下移动了五行。但这种方式是需要我们人脑去做一个减法,算出要跳多少行。我们还可以使用另外一种方法--相对行号。输入 vim /etc/vimrc ,在最后一行加入 set relativenumber,这样就可以使用相对行号了,这是行号就变成这行与光标所在行的距离,我们现在可以在正常模式下输入4k,意思是跳转到当前行上面的第四行,以方便我们跳转。
如果要复制一行,可以使用yy,复制一个单词就是yw,y的意思是yank,就是复制的意思。想要粘贴,则输入p。如果想删除一行则使用dd。如果我们要重复上一次的操作,按 . 就可以了。撤回操作的话按 u 。恢复此前操作的话就按 ctrl + r。可以通过dw 删除单词。cw 改变单词,w移动到下一个单词首部,e下个单词的首部,b上个单词的首部。
yy -复制一行
yw -复制一个单词
p -粘贴
dd -删除一行
. -重复上一次的操作
u -撤回操作
ctrl + r -恢复此前操作
dw -删除单词
cw -改变单词
w -移动到下一个单词首部
e -下个单词的首部
b -上个单词的首部。
想要搜索字符串的话 可以使用 /name ,其中name是我想要搜索的字符串的名字,这样vim就会自动帮你找到符合条件的字符串。如果我们想要全局替换的话,输入:%s/旧字符串/新字符串/g,其中g的意思是全局替换。我们还可以通过ctrl+v进入可视化块,选中光标下的字符。
/name -想要搜索字符串
:%s/旧字符串/新字符串/g -全局替换
ctrl+v -可视化块
学习链接:
边栏推荐
猜你喜欢
[免费专栏] Android安全之和平精英(FZ)APK逆向分析
Bi Sheng Compiler Optimization: Lazy Code Motion
软件设计的七大原则
Iptables防火墙常见的典型应用场景
VIT transformer详解
Samsung's flagship discount is 1,800, Apple's discount is over 1,000, and the domestic flagship is only reduced by 500 to send beggars
JMeter压测时如何在达到给定错误数量后停止测试
正则表达式(全)
数学建模——模拟退火
国产抗新冠口服药每瓶不超300元/ 我国IPv6网络全面建成/ 谷歌入局折叠屏手机...今日更多新鲜事在此...
随机推荐
[免费专栏] Android安全之GDB动态调试APP
渗透测试——CFS三层靶机内网渗透实操
CreateCompatibleDC用法
毕昇编译器优化:Lazy Code Motion
【知识点合辑】numpy常用函数+jupyter小用法
商业智能BI行业分析思维框架:铅酸蓄电池行业(一)
What is the Treasure Project (TPC), a dark horse with wings in 2022!
PHP 变量注释/**@var*/
C语言知识补充
PHP基础笔记-NO.4
释放数据价值的真正法宝,数据要素市场化开发迫在眉睫
VIT transformer详解
发布sensor_msgs/Range数据
ThreadLocal 夺命 11 连问,万字长文深度解析
Iptables防火墙常见的典型应用场景
[免费专栏] Android安全之Android Studion 动态调试APK的两种方法
std::atomic_flag的test_and_set函数理解
五种常用的排序方法
Ng DevUI 周下载量突破1000啦!
IDEA工具常用配置