Linux编辑器——vim的使用

目录

vim的基本概念

命令模式

底行模式

插入模式

注释和取消注释

普通用户进行sudo提权

vim配置问题


vim的基本概念

一般使用的vim有三种模式:

命令模式 底行模式和插入模式,可以进行转换;

vim filename

打开vim,进入的是命令模式;输入a/i/o 可以切换到插入模式

输入Esc可以退回到命令模式

输入 shift+;=: 切换到底行模式,输入Esc回退到命令模式

注意,底行模式不能直接切换到插入模式

命令模式

:控制光标的移动,字符的输入,删除,复制粘贴等等,有一些相关的指令;

n+yy :复制当前行 n:连续复制n行

n+p:粘贴,n:把当前内容粘贴n行

n+dd:剪切,n:剪切n行

u:撤销 ctrl+r:反撤销

shift+4=$:将光标定位到当前行的结尾

shift+6=^:将光标定位到当前行的开头

gg:将光标定位到整个文本的开头

shift+g=G:将光标定位到整个文本的最后一行

n+shift+g=nG:将光标定位到整个文本的任意一行,

h(左) j(下) k(上) l(右) 控制光标的移动

w:按照单词为单位进行光标后移

b:按照单词为单位进行光标前移

shift+`=~:大小写快速切换,可以将已经编辑过的大写字母变成小写字母,小写字母变大写字母

按住shift+` 就可以把小写字母变成大写字母

n+x :可以删除光标后面的一个字符,n:一次可以删除n个,在一行以内

n+shift+x:可以删除光标之前的一个字符,n:一次可以删除n个,在一行以内

n+r:可以替换光标位置的字符,

r+要替换的字符, 例如 ra

n:表示一次可以替换n个在光标之后的字符(包括光标所在的字符),例如 4ra

shift+r=R:进入替换模式,进行文本替换

例如 shift+r xxxxxx(要替换的文本)

shift+zz=ZZ:保存并退出

底行模式

:用来进行vim和shll进行交互

w:保存

q:退出

wq:保存并退出

!:强制

set nu:打开行号

set nonu:关闭行号

/ 关键字:可以搜索文本中出现的字符,并把光标定位到该位置

!指令:不退出vim,就可以进行shell命令的执行,常用于函数查看

vs filename:分屏,用于多文件操作

插入模式

:就是编辑,写文本;

注释和取消注释

ctrl+v 进入视图模式,用 hjkl控制框选区域 shift+i 进入编辑模式 输入// 就可以注释了

然后Esc退出,要退出两次,

ctrl +v 进入视图模式,用hjkl控制框选区域,包含且仅包含//,输入d就可以取消注释

普通用户进行sudo提权

1.普通用户先切换成root用户

2.vim /ect/sudoers

3.输入set nu设置行号

4.在一百行左右,进行普通用户的sudo提权,只改变用户名,其他的和root一样

然后就提权成功了

vim配置问题

原理:vim并不是直接执行,执行前会读取一些文件,比如.vimrc 我们把需要配置的指令写在.vimrc文件中,然后vim执行时就会读取.vimrc文件,配置一些功能,比如行号,自动缩进,自动补齐,代码提示等等;

为了方便,还可以一键式配置

在当前用户目录下输入

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

然后需要输入root账号密码,就配置成功了

具体内容可以参考这些文件:

VimForCpp: 快速将vim打造成c++ IDE

相关推荐
liuyukuan19 小时前
如何在win11上打开 WSL2(Windows 的 Linux 子系统)?
linux·windows
橙子也要努力变强19 小时前
Linux信号机制
linux·服务器·网络
shughui19 小时前
FinalShell / Xshell 完整教程(下载+安装+使用,2026最新版)
linux·fiddler·xshell·xftp·finalshell·远程连接工具
程序猿编码20 小时前
给你的网络流量穿件“隐形衣“:手把手教你用对称加密打造透明安全隧道
linux·开发语言·网络·安全·linux内核
pengyi87101520 小时前
私网IP映射公网基础原理,搭配代理IP远程访问入门
linux·服务器·网络
深圳市九鼎创展科技21 小时前
MT8883 vs RK3588 开发板全面对比:选型与场景落地指南
大数据·linux·人工智能·嵌入式硬件·ubuntu
RisunJan1 天前
Linux命令-ngrep(方便的数据包匹配和显示工具)
linux·运维·服务器
.千余1 天前
【Linux】基本指令3
linux·服务器·开发语言·学习
热爱Liunx的丘丘人1 天前
Ansible-doc及常用模块
linux·运维·服务器·ansible
SPC的存折1 天前
D在 Alpine 容器中手动搭建 Discuz 全攻略(包含镜像一键部署脚本,可直接用)
linux·数据库·mysql·缓存