Linxu vim详解(常用命令)

目录

强烈建议全文阅读!

vim是什么?

命令模式

底行模式:shift + ;

普通用户无法sodu?

vim配置问题:(一点都不重要)


vim是什么?

Vs 2022是一款集成开发软件
vim是一个文本编辑器(主要写C和C++)
常用三种模式:
1、命令模式
2、底行模式
3、插入模式

vim刚打开时处于命令行模式,不方便进行书写代码操作
这个时候输入的所有字符,都被视为命令行
所以,没有用处
输入i进入插入模式,进行正常的编写
要退出,必须从插入模式退回命令模式
怎么退出?
按Esc
再按shift + : #进入底行模式
输入wq(write quit)


插入模式:其实就是编辑模式
命令模式:允许使用者通过命令,来进行文本的编辑控制
底行模式:用来进行vim和shell进行包括但是不限于交互的


命令模式


yy :复制当前行
p:粘贴到当前光标的下一行
u:撤销
dd :剪切/删除指定的行
dd的剪切用p实现
n  + dd:剪切/删除连续的n行
n + p:粘贴n次指定内容
n + yy :从当前光标开始,连续复制n行

vim不能默认使用鼠标
Shift + 4 = $:迅速移动光标到当前行结尾
shift + 6 = ^ :迅速移动光标到当前行开始位置
gg:将光标定位到整个文本最开始位置
shift + g = G:将光标定位到整个文本最后位置
n + shift + g = G:将光标定位到整个文本任意位置
H键:左
J键:下
K键:上
L键:右
也可以带n
快速记住:h(左)   j(jump,下) k(king,上)   l(右)
为什么要使用hjkl来控制左右上下,键盘初期没有方向键,为了兼容
w:按照单词为单位进行光变后移
b:按照单词为单位进行光变前移
Ctrl + R :对历史撤销进行撤销
shift + `` = ~:大小写快速切换
x:删除光标后一个字符
n + x :一行内删除光标后n个字符
shift + x = X:删除光标前一个字符
n + shift + x :删除光标前n个字符
n + r:对光标指定的位置,进行一个字符的替换,可以一次替换多个
shift + r = R :替换模式,会直接向后进行文本替换
shift + zz:保存并退出

从命令模式进入插入模式的方法:
1、r(光标不动,直接进入插入模式)
2、o(插入一行之后直接进入插入模式)
3、a(光标往后移动一个字符再进入插入模式)


底行模式:shift + ;


q:退出
w:保存
q!:强制退出
wq:保存并退出
wq!:保存并强制退出
如果你对文件进行了更改,但是没有进行保存就要退出,此时就会报错:
No write since last change :意思是没有对更改的内容进行保存
类似于你的文件进行更改之后,系统问你是否需要更改
set nonu:取消行号
set nu:打开行号
s///g(global)
/关键字:搜索
!gcc + 文件:编译
!command:不退出vim命令,可以进行shell命令的执行
整个命令很方便:例如函数查看
vs 文件:打开文件,多文件操作
ctrl ww:切换光标
底行模式:set nu #设置行号

ctrl + z:是把vim stop,就是把vim暂停了。不要使用
这是退出vim异常:
此时再打开对应的文件,就会出错
意思是把vim挂到后台运行了
怎么办呢?
ps ajx | grep vim
kill -n 对应的进程杀掉
但是此时再打开文件,还是处于异常
这是因为在vim异常时,会自动保存一份临时文件
以便于我们进行数据回复
此时对于临时文件XXX.X.swp会有对应的提示操作
根据提示进行选择输入,是覆盖还是不保存等等,即可继续进行操作
但是,你每一次vim打开该文件,都会提示这个临时文件,很麻烦
这个时候你可以在本目录下把这个临时文件给删掉


如果你在断网之前,正在对文件进行编写
这个时候vim为了保证数据不丢失,也会 生成一个临时文件
这个时候根据你的需求,可以选择对应的操作:
R:恢复
D:删除(删除过后,之后vim打开文件就不会再出现临时文件的界面)
当然,如果你对文件没有任何修改,那么断网断电对文件都没有影响
就不会生成临时文件
下一次vim打开文件,还是正常的

批量化注释和批量化去注释: 
1、ctrl + v:区域选择(支持shift + g)进入视图模式,使用hjkl方向控制
2、shift + i 
3、输入//
4、两次Esc

删除注释:
1、ctrl + v
2、hjkl区域选择
3、包含且仅包含//
4、d:删除

普通用户无法sodu?


XXX is not in the sudoers file.
解决历史问题:普通用户无法进行sudo提权
首先,为什么会出现这个问题?
一般来说,只有root超级管理员才能进行提权
但是你进行提权的时候输入的是XXX的密码
好了,那么如果说你用自己的账号就可以进行提权,那还要root干嘛?
所以,一个普通拥护是否能被提权:
1、root进行操作
2、该用户是被信任的
在etc/sudoers文本文件中,会有对应的用户信息
有对应配置的用户,就可以进行提权,没有就不能进行提权

那么,怎么进行提权呢?
1、首先,需要root密码,登录root账号
2、vim etc/sudoers
3、添加用户配置

vim配置问题:(一点都不重要)


1、配置原理
vim本质上是一个二进制的可执行程序
但是在vim打开时,不是简单的打开
而是会首先访问配置文件.vimrc
如果有这个文件,就会访问,没有就不访问
而这个.vimrc就是一个对vim进行自主配置的文件
vim打开时就会读取.vimrc里的内容,读取对应的配置信息
然后在vim操作时,就会添加相关的配置操作


2、一键式配置

Vim的全面配置 - 知乎 (zhihu.com)

  • 25
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二十5画生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值