关键词:
目录
什么是Vi/Vim?
vi/vim 的区别简单点来说,它们都是多模式编辑器,不同的是 vim 是 vi 的升级版本,它不仅兼容 vi 的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于 x window 、 mac os 、 windows 。
Vi/Vim键盘图:
1. vim的基本概念
博客中我们主要讲解 vim 的三种模式 ( 其实有好多模式,目前掌握这 3 种即可 ), 分别是命令模式( command mode )、插 入模式( Insert mode )和底行模式(last line mode)
各模式的功能区分如下 :
- 正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入 Insert mode 下,或者到 last line mode
- 插入模式(Insert mode)
只有在 Insert mode 下,才可以做文字输入,按 「ESC」 键可回到命令行模式。该模式是我们后面用的最频繁 的编辑模式。
- 底行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下, shift+;( :) 即可进入该模式。要查看你的所有模式:打开 vim ,底行模式直接输入(退出查看所有模式可以在底行模式下输入 :exit ):help vim-modes
注意:
1 我这里是使用了配置过的vim,所以用起来比较方便舒适,文章后面我会给出具体的配置方法,这里有需要的老铁可以直接跳转到文章末尾。
2 当我们打开vim时默认是在命令模式下,命令模式是插入模式和底行模式的中转站,插入模式与底行模式的转换都必须先转换为命令模式。
3 这些命令必须使用英文字符。
2. vim的基本操作
- 进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:
我这里配置后是这个样子:
不过有一点要特别注意,就是你进入 vim 之后,是处于 [ 正常模式 ] ,你要切换到 [ 插入模式 ] 才能够输入文字.- [正常模式]切换至[插入模式]
- 输入a (跳转到光标的下一个位置)
- 输入i (跳转到光标当前位置)
- 输入o(跳转到下一行)
- [插入模式]切换至[正常模式]
目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。这里再补充一下,最开始的电脑是没有配备上下左右键的,而是用h(左),j(下),k(上),l(右)来代替的,后续有关其他vim相关操作有些会搭配着这些键使用
- [正常模式]切换至[末行模式]
「 shift + ; 」 , 其实就是输入「: 」
- 退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」
例如:
: w (保存当前文件) : wq ( 输入「 wq 」 , 存盘并退出 vim) : q! ( 输入 q!, 不存盘强制退出 vim)
3. vim正常模式命令集
注意:以下命令都是在命令模式下执行的。
- 插入模式
- 按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
- 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
- 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字
- 从插入模式切换为命令模式
- 按「ESC」键。
- 移动光标
- vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」「j」「k」、「l」,分别控制光标左、下、上、右移一格;
- 按[ gg]:进入到文本开始;(可以与n结合使用,n+gg跳转到第n行)
- 按「shift+g (G)」:移动到文章的最后;(可以与n结合使用,n+G跳转到第n行)
- 按「shift+4 ($) 」:移动到光标所在行的“行尾”;
- 按「shift+6 (^)」:移动到光标所在行的“行首“;
- 按「w」:光标跳到下个字的开头;
- 按「e 」:光标跳到下个字的字尾;
- 按「b 」:光标跳到上个字的开头;
- 按「 nl 」:光标移到该行的第n 个位置;
- 按「 ctrl + b 」:屏幕往 “ 后 ” 移动一页; 按「 ctrl + f 」:屏幕往 “ 前 ” 移动一页; 按「 ctrl +u 」:屏幕往 “ 后 ” 移动半页; 按「 ctrl + d 」:屏幕往 “ 前 ” 移动半页.
- 删除文字
- 按「x」:每按一次,删除光标所在位置的一个字符;(可以与n搭配,「nx」表示删除光标所在位置的后面(包含自己在内n个字符 )
- 按「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符;(可以与n搭配,「nX」表示删除光标所在位置的前面(不包含自己在内n个字符)
- 按「dd」:删除光标所在行;(可以与n搭配,从光标所在行开始删除n行)
- 复制
- 按「yw」:将光标所在之处到字尾的字符复制到缓冲区中;(可以与n搭配,「nyw」表示复制n个字符到缓冲区中)
- 按「yy」:复制光标所在行到缓冲区;(可以与n搭配,「nyy」表示拷贝从光标所在的该行“往下数”n行文字。
- 按「p」:将缓冲区内的字符贴到光标所在位置;注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
- 按「dd+p」:等同于剪切功能。
- 替换
- 按「r」:替换光标所在处的字符;(支持nr)
- 按「R」:替换光标所到之处的字符,直到按下「ESC」键为止;
- 撤销上一次操作
- 按「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复;
- 「ctrl + r」: 撤销的恢复 。
- 更改
- 按「cw」:更改光标所在处的字到字尾处
- 按「cnw」:例如,「cnw」表示更改3n个字
- 跳至指定的行
- 按「ctrl+g」列出光标所在行的行号;
- 按「nG」:例如,「15G」,表示移动光标至文章的第15行行首.
- 大小写切换
按「shift+~」:大小写转换(一直按住shift可以一直转换)
4. vim底行模式命令集
注意:以下命令均是在底行模式下进行。
在使用底行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入底行模式。
- 列出行号
- 「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。
- 跳到文件中的某一行
- 「n」:「n」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行.
- 查找字符
- 「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 「n」会往后寻找到您要的关键字为止。
- 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。「?关键字」与「/关键字」的区别是「/关键字」会让光标定位到首行,而「?关键字」则不是。
- 保存文件
- 「w」: 在冒号输入字母「w」就可以将文件保存起来
- 离开vim
- 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离vim。
- 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。
- 多文件操作
「vs+文件名」:按「ctrl+w+w」在文件中互相切换,打开后就像这样:
另外如果输入一个新的文件名时与使用vim打开文件一样,没有就会重新建立一个,就像这样:
退出的话光标定位到哪里就用对应的命令退出该文件即可。
5. 简单vim配置
配置文件的位置
- 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
- 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。
- 切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~打开自己目录下的.vimrc文件,执行 vim .vimrc。
常用配置选项,用来测试
- 设置语法高亮: syntax on
- 显示行号: set nu
- 设置缩进的空格数为4: set shiftwidth=4
使用插件
要配置好看的 vim ,原生的配置可能功能不全,可以选择安装插件来完善配置,保证用户是你要配置的用户。这里大家可以自行在网上查询资料。
这里我们如果要配置的话不用那么麻烦,已经有了大佬给我们配置好了的(非常感谢汤神老师),大家可以在自己的用户上输入下面这段指令系统就会自动给我们当前用户配置,具体命令为:
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
6 总结
今天我们重点介绍了Linux下编辑神器vim的使用,总的来说vim的使用成本还是蛮高的,但是这个确是我们不得不掌握的一项基本技能,只要多花些时间去练习我相信这对我们来说应该不是太大的问题。如果今天的文章对你有收获的话能不能3连支持一下博主呢?
linux下通过vim编辑文件的方法(代码片段)
一般来说是通过指令进入文件的编辑页面:vi[filename] 此时进入的是一般指令模式,然后可以直接移动光标对内容进行修改。 修改完成后,使用Esc按键退出编辑模式。 此时回到的还是一般指令模式。 若想保存... 查看详情
《linux从0到99》三yum与vim编辑器(代码片段)
...是软件包02查看软件包03如何安装软件04如何卸载软件2.vim编辑器01vim的优点a)高效率移动b)高效的输入02vim的基本概念03vim的基本操作04vim正常模式命令05vim末行模式命令06修改vim的配置1.yum软件包管理器01什么是软件包在Linux下... 查看详情
vi/vim编辑器基本使用(代码片段)
VI编辑器是一个基于命令行的、功能强大的文本编辑器,最早为Unix系统开发,后来也被移植到许多的Unix和Linux发行版上。在Linux上还存在着另一个VI编辑器的高阶版本——VIM(也被称作VIIMproved)。VIM只是在VI已经很强的功能上添... 查看详情
vim(代码片段)
1.简介Vim(Vi[Improved])编辑器是功能强大的跨平台文本文件编辑工具,继承自Unix系统的Vi编辑器,支持Linux/MacOSX/Windows系统,利用它可以建立、修改文本文件。进入Vim编辑程序,可以在终端输入下面的命令:$vim[filename]其中filename... 查看详情
linux中vim编辑器常用按键(代码片段)
VIM编辑器的模式一般模式按i、a、o进入编辑模式ESC切换到一般模式:或者/切换到命令模式:wq(保存)一般模式以vi打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右』按键来... 查看详情
linux系统vi和vim编辑器—笔记7(代码片段)
Vi和Vim的区别所有的UnixLike系统都会内置vi文书编辑器,其他的文书编辑器(gedit)则不一定会存在。因为有太多Linux上面的指令都默认使用vi作为数据编辑的接口,所以必须、一定要学会vi,否则很多指令你根本... 查看详情
文本编辑软件vim(代码片段)
vim软件是一个文本编辑器,类似windows下的记事本,但要比windows下的词事本强大的多。vim是linux/unix上最常用的文本编辑器,它的作用是建立,编辑,显示文本文件。vim没有菜单,只有命令。vim的学习方法:练习,再练习,让命令... 查看详情
linux顶级编辑器vim的基本使用及配置(代码片段)
👑作者主页:@进击的安度因🏠学习社区:进击的安度因(个人社区)📖专栏链接:Linux文章目录一、前言二、vim基本概念三、vim基本操作1、模式切换2、命令模式3、插入模式4、底行模式四、vim... 查看详情
正确使用vim编辑器的姿势(代码片段)
...视化接口(VisualInterface)vim:是vi的增强版(viiMprove)vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。它是我们使用Linux系统不能缺少的工具。Unix... 查看详情
vim详解(代码片段)
...存放的,所以我们在修改系统设置的时候使用简单的文本编辑软件就可以实现了,如果你使用过windows当中的word的话,那么你可能会感觉linux字符界面的文本编辑工具并不是太好用,毕竟没有图形窗口,看着不会太舒服。但是既... 查看详情
linux怎么安装vim?(代码片段)
sudoapt-getinstallvim-gtk参考文章:Linux下安装vim编辑器 查看详情
linux命令(34)——vim命令(代码片段)
...7.小结参考文献1.命令简介vim是Linux中最通用的全屏幕文本编辑器,是vi的增强版(viiMproved),与vi完全兼容,且扩充了很多功能。vim编辑器支 查看详情
vim文本编辑器的基本使用(代码片段)
Vim文本编辑器是Linux/Unix系统下最常用的工具之一,通过该工具可以很方便的建立、修改、编辑文档或者程序文件,其作用类似与windows系统下的记事本或者notepad++,因此熟练掌握该工具的使用对于使用linux系统是非常有必要的。... 查看详情
linux学习笔记2022-11-29---------vim文本编辑器及其应用详解(代码片段)
目录1.Vim编辑器概述2.Vi和Vim之间到底有什么关系?3.Vim编辑器的三种模式(重点)3.1三种模式3.2三种模式之间的关系3.3LinuxVim基本操作之文件的打开4.命令模式(重点)4.1光标移动4.2复制4.3剪切/删除4.4撤销/恢复... 查看详情
上古神器--vim编辑器
...是电视剧的上古神器,IT君今天要讲的IT界的上古神器--vim编辑器。650)this.width=650;"src="http://s1.51cto.com/wyfs02/M02/86/64/wKioL1e9gziB8edsAAD9KN3WnxY218.jpg"t 查看详情
linux之vi/vim的使用(代码片段)
安装sudoaptinstallvimsudoyuminstallvimvi/vim的三种模式一般模式(默认模式)插入模式(编辑模式)命令行模式模式切换打开vi编辑器vivi文件名进入/退出插入模式快捷键 一般模式快捷键 命令行模式快捷键 查看详情
linux基础11vi和vim编辑器的使用(代码片段)
vi——终端中的编辑器目标vi简介打开和新建文件三种工作模式常用命令分屏命令常用命令速查图01.vi简介1.1学习vi的目的在工作中,要对服务器上的文件进行简单的修改,可以使用ssh远程登录到服务器上,并且使用vi进行快速的... 查看详情
在linux下使用vim编写c++(代码片段)
...;+在Linux下使用Vim编写C++进入Linux控制页面。在vim编辑模式下,打开某个文件vim编辑代码编译运行运行图后续在Linux下使用Vim编写C++进入Linux控制页面。Ctrl+alt+T在vim编辑模式下,打开某个文件vimfirst.cpp... 查看详情