Linux:vim的简单使用

个人主页 : 个人主页

个人专栏 : 《数据结构》 《C语言》《C++》《Linux》

文章目录


前言

本文是对Linux中vim使用的总结


一、vim的基本概念

vim是一款多模式的文本编辑器,vim里有许多子命令,来进行代码编写的操作。本文将总结vim的三种常用模式,分别是命令模式(command mode),插入模式(insert mode),底行模式(last line mode),其中默认打开命令模式

  • 命令模式
    控制屏幕光标的移动,字符,字或行的删除,移动复制某区段及进入插入模式,或者到底行模式

    输入 vim 文件名 指令后进入的界面就是命令模式
  • 插入模式
    只有在插入模式下,才可以做文字输入,按ESC键可以回到命令模式。

    在命令模式下输入:i,a,o都可以进入命令模式
  • 底行模式
    文件保存或退出,也可以进行文件替换,找字符串(/ 字符串),列出行号(set nu)等操作。在命令模式下,shift + ; 进入底行模式。在底行模式下,可以查看vim的所有模式( help vim-modes)


    按h,j,k,l进行左,下,上,右移动光标。输入shift ; q退出

二、vim的基本操作

  • 进入vim,在系统提示符号输入vim及文件名称后,就可以进入vim全屏膜编辑模式

    要注意,在命令行模式下,不能输入文字。要在插入模式才能输入文字
  • 命令行模式 到 插入模式
    输入 i,a,o都可以

    但输入i,光标不移动。输入a,光标向右移动一字符。输入o,光标向下移动一行。

    现在我们处于命令行模式,光标位于第三个a处。
    输入 i :

    输入:o

    输入:a

  • 插入模式 切换至 命令行模式
    目前处于插入模式,就只能一直输入文字,如果发现输入错误,想用光标往回移动,将该字符删除,可以先输入 ESC转到命令行模式在删除文字。当然也可以直接删除

  • 命令行模式 转到 底行模式
    输入shift ;

三、vim正常模式命令集

  • 插入模式

输入 i 切换进入插入模式,按 " i "进入插入模式后从光标当前位置开始输入文件

输入 a 进入插入模式,从目前光标所在位置的下一个位置开始插入文字

输入 o 进入插入模式,插入新的一行,从行首开始输入文字


  • 移动光标

vim可以直接用键盘上的光标来上下移动,但正规的vim是用小写字母 h,j,k,l分别控制光标左,下,上,右移动一格

输入 shifr g(G):移动到文件的最后

输入 $:移动到光标所在行的行尾

输入 ^:移动光标到所在行的行首。 ^ 和 $ 表示一行的开始与结尾,被称为锚点符号

输入 w:光标调到下一个字的开头

输入 e:光标调到下一个字的字尾

输入 b:光标回到上个字的开头

输入 #|:光标移到该行的第#个位置

输入 gg:进入文本开始

输入 shift + g :进入文本末端

输入 ctrl + b :屏幕向后移动一页

输入 ctrl + f:屏幕向前移动一页

输入 ctrl + u:屏幕向后移动半页

输入 ctrl + d:屏幕向前移动半页


  • 删除文字

x:每按一次,删除光标所在位置的一个字符

#x:表示删除光标所在位置的后面(包含自己在内)#个字符

X(大写):每按一次,删除光标所在位置前一个字符

dd:删除光标所在行

#dd:从光标所在行开始删除#行


  • 复制

yy:复制光标所在行到缓冲区

#yy:复制包含光标所在行后#行到缓冲区

p:将缓冲区的字符贴到光标所在的位置。注意:所有与y有关的复制命令都必须与p配合才能完成复制与粘贴功能。

注意dd可以与p配合使用,当只使用dd,就是删除。但是在dd后再使用p就是剪切。


  • 替换

r :替换光标所在处的字符

R:替换光标所到之处的字符,直到按ESC为止 (也就是 shift + r 进入替换模式)

shift ~:智能大小写转换


  • 撤销上一次操作

u :如果你误操作一个命令,可以按u,回到上一个操作。按多次u可以执行多次回复

ctrl + r:对撤销的回复


  • 更该

cw:更改光标所在处的字到字尾处

c#w:更改光标所在的字(包含光标所在的字)后#个字


  • 跳至指定的行
  • ctrl + g:列出光标所在的行号
  • #G:光标移动至文件的第#行行首

  • 批量化注释

ctrl + v -> j / k两个按键上下选中区域 -> shift + i -> // -> ESC

四、vim底行模式命令集

  • 列出行号

set nu:输入set nu后,会在文件中的每一行前面列出行号

set nonu:取消行号


  • 跳到文件中的某一行

#:#表示一个数字,在冒号后输入一个数字,在按回车键就会跳到该行


  • 查找字符

/关键字:先按/,再输入你想寻找的字符,如果第一次的关键字不是你想要的,可以一直按 n 会往后寻找到你要的关键词

?关键字:先按?,再输入你想寻找的关键字,如果第一次的关键字不是你想要的,可以一直按 n 会往后寻找到你要的关键字


  • 保存文件
    w:在冒号后输入字母w,就可以保存文件

  • 退出vim

q:按q就是退出,如果无法离开vim,可以输入 q!强制退出vim

wq:一般建议离开时,搭配w一起使用,这样在退出的时候还可以保存文件

五、.xxx.swp的解决

在打开文件时,如果直接退出shell,会产生一个隐藏备份文件.xxx(文件名).swp。此时我们在打开xxx文件就无法打开,这时我们可以直接rm掉.xxx.swp文件

如下:我们vim test.txt文件再输入一些内容,之后直接退出shell就会查收.test.txt.swp文件

此时我们不能vim test.txt打开文件,会有如下提示

我们只有rm .test.txt.swp文件后才可以正常打开文件

六、在信任列表添加信任用户

在配置vim时,我们普通用户有可能需要执行sudo命令,但如果该普通用户不在信任列表中,sudo命令就不能执行。

此时,我们就要用root账号,执行vim /etc/sudoers 指令,进入如下页面

找到下图所示处。

切换到插入模式,复制第100行的内容,在102行粘贴,并将用户名改为要添加信任列表的用户的用户名。

切换成命令模式,在强制保存并退出(wq!)。这样该用户就添加入信任列表

此时我们在执行刚刚的指令就可以了。

要注意,是输入该用户的密码


总结

以上就是我对于Linux中vim使用的总结。感谢支持!!!

相关推荐
groundhappy3 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
通信小小昕4 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
张小姐的猫5 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
栩栩云生5 小时前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
imc.117 小时前
linux基础IO
linux·运维·服务器
BelongPanda8 小时前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx
酷可达拉斯9 小时前
Linux操作系统-shell编程(0)
linux·运维·服务器·python·云计算
2301_777998349 小时前
Linux中断机制:操作系统如何高效运行
linux·运维·服务器
yunwei379 小时前
eBPF 教程:检查 exec 后真正安装的可执行镜像
linux·开源
笑锝没心没肺10 小时前
yum update 报错:GPG key retrieval failed: [Errno 14] HTTPS Error 404 - Not Found
linux·运维·服务器