作为Linux系统下的标配编辑器,Vim具有非常强大的文本编辑功能和灵活的配置选项,让用户能够以更加高效的方式进行文本编辑和操作。如果您是一名Linux系统的使用者,或是正在学习Linux系统的相关知识,那么掌握Vim编辑器的使用方法和技巧,将有助于您更加轻松地处理各种文本编辑任务。
接下来,我将为大家详细介绍Vim编辑器的使用方法和功能,希望能够对大家有所帮助。
要打开一个文件,可以在终端输入 vim
命令,后跟文件名,如果文件不存在,Vim 将会创建一个新文件:
vim filename.txt
即可进入vim编辑器:
这里请输入:wq
保存并退出该编辑器(后续会说明)
vim编辑器共有12种模式,而我们目前仅用三种模式即可;分别是命令模式(command mode)
、插入模式(Insert mode)
和底行模式(last line mode)
,各模式的功能介绍如下:
①命令模式
当你打开一个文本文件时,你会进入vim的命令模式。在这个模式下,你可以使用不同的命令来操作文本。
②插入模式
插入模式是用来插入或者编辑文本的模式。你可以在命令模式下通过按i
、I
、a
、A
、o
或者O
等命令进入插入模式。在插入模式下,你可以像在其他编辑器中一样输入文本,并且可以使用退格键、方向键和删除键来编辑文本。
③底行模式
底行模式是用来执行一些高级操作的模式,例如保存文件、退出vim等。你可以通过按下冒号(:)来进入底行模式。
在底行模式下,我们输入
:help vim-modes
即可看到所有的vim-modes
在底行输入:q
或者:!q
退出查看该帮助文档
大致了解了这三种模式的作用之后,那这三种模式间该如何切换呢?切换方式如图:
当我们进入vim编辑器后,我们即进入命令模式,输入i
可切换为插入模式可进行文本编辑,而命令模式的命令集如下:
1、光标定位
shift + 4
= ¥:光标定位到当前行的最右侧(行右);
shift + 6
= ^ :光标定位到当前行的最左侧(行左);
shift + g
= G:光标定位到当前文件的最后一行(顶部);
gg
:光标定位到当前文件的最后一行(底部)。
n + shift + g
:光标跳转到指定行,n代表行号。
2、光标移动
h
:左;
j
:下;
k
:上;
l
:右;
w
:向后按照单词移动光标支持nw,n表示个数;
b
:相前按照单词移动光标,支持nb,n表示个数。
由于历史原因,老式键盘没有设置方向键前,采用
h
,j
,k
,l
键来移动光标
3、文本复制
yy
:复制当前光标所在行的内容;
n + yy
:复制当前光标及其下的n行进行多行复制;
p
:粘贴已经复制的内容到光标的下一行;
n + p
:将已经复制的内容粘贴n行到光标的下面;
dd
:删除光标所在行,dd+p相当于剪切;
n + dd
:剪切当前光标开始的n行,支持p操作;
下面我们使用vim编辑器实现helloworld
程序并应用以上操作:
vim hello.c #创建并编辑hello.c文件
按下Esc
退出编辑模式,进入底行模式保存并退出:wq
编译成可执行文件并执行:
gcc hello.c
./a.out
应用以上操作:
在命令模式下,使用yy
复制,使用p
粘贴;
使用5yy
从光标位置向下复制五行,使用p
粘贴;
使用4dd
删除光标向下的四行:
4、撤销
u
:撤销最近的一次操作;
ctrl + r
:反撤销
5、文本编辑
shift + ~
:将光标所在位置的字母进行大小写转换;
r
:替换光标所在的一个字符;
n + r
:替换光标所在的n个字符替换;
x
:行内删除,向后删除,支持nx,支持p;
X
:行内删除,向前删除,支持nX,支持p;
cw
:删除当前光标所在单词,并进入插入模式。
在Linux中,一台机器中的用户使用的是同一个vim程序,但是每个用户使用的都是是自己的vim配置。所谓的vim配置,就是修改自己的 .vimrc
。在当前用户的工作目录下(家目录),ls -al
可以查看是否存在.vimrc
,如果没有可以自己创建,然后在.vimrc
中配置即可
which vim #查看vim位置
ls -al #查看隐藏文件
这里我们查看了用户的家目录,查看是否有.vimrc
文件
touch .vimrc #若没用该文件则需要自己创建该文件
注意:文件名前加
.
代表它是隐藏文件**
通过实现对.vimrc
文件的编辑:
vim .vimrc #编辑.vimrc配置文件
因为该文件是属于该用户的,因此用户对于.vimrc
文件的配置不同,即会导致其vim唯一性,下面我们列举几个常见的配置方式,使得我们的vim编辑器具有以下功能:
syntax on #语法高亮
set nu #设置行号
set autoindent #自动缩进
set tabstop=4 #Tab键的宽度
在.vimrc
文件中写入如下配置:
保存退出后,再次用vim打开之前的hello.c
文件:
我们通过对.vimrc
文件添加不同的配置语句,即可让vim编辑器实现多种多样的目标功能,因此我们可以通过加入封装的一键式vim环境安装包(已经配置好的版本),实现对vim的强大配置!
由于vim配置是针对用户的,因此我强烈建议各位配置在常用的用户下,而不是root下!
执行以下指令(想让哪个用户完成vim的配置就在哪个用户下执行该指令):
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
您的 root 密码不会被上传, 请放心输入
此时重启终端后,打开hello.c
文件,vim编辑器界面如下:
此时我们完成了对vim编辑器的配置!
在“Linux下的权限”一文中我们提到如果普通用户需要暂时使用到root用户才具有的权限,我们可以通过sudo
指令实现对该条指令暂时的“提权”,而我们在使用该指令时会发生这样的问题:
XX is not in the sudoers file. This incident will be reported.
该段提示告诉我们,该用户不是受信任用户,不允许提权操作!
因此我们要使用vim,将该用户添加到受信任用户中去,以实现sudo
,具体步骤如下:
step 1 切换成root用户
step 2 编辑sudoers文件
ls /etc/sudoers
vim /etc/sudoers
用vim编辑该文件,找到如下行,添加受信任用户
进入底行模式(shift+:
)输入:
w! #强制写入
q! #强制退出
step 3 验证