Linux编辑器---vim

目录

1、vim的基本概念

[2正常/普通/命令模式(Normal mode)](#2正常/普通/命令模式(Normal mode))

2、1命令模式下一些命令(不用进入插入模式)

[3插入模式(Insert mode)](#3插入模式(Insert mode))

[4末行/底行模式(last line mode)](#4末行/底行模式(last line mode))

4、1底行模式下的一些命令

5、普通用户无法进行sudo提权的解决方案

6、vim配置问题

6、1配置原理

6、1、1配置文件的位置

6、1、2常用配置选项,用来测试


1、vim的基本概念

vim是一种多模式的编辑器。

这里我们讲解vim的三种模式(其实有很多模式,这里掌握三种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。

2正常/普通/命令模式(Normal mode)

命令模式是vim的核心模式。如果忘了自己在哪个模式,无脑ESC回到命令模式。

命令模式:允许使用者通过命令,来进行文本的编辑控制。

刚开始打开vim的时候,暂时无法正常输入 ,这是进入了命令模式。当我们输入i(insert)就进入到了插入模式。(左下角出现insert)。就可以正常编写程序。

2、1命令模式下一些命令(不用进入插入模式)

yy:复制当前行。(支持在yy前带数字: n + yy,表示从当前光标开始,连续复制n行)

p:粘贴到我们当前光标的下一行。(支持在p前面带数字:n + p,表示把指定内容复制粘贴n次。)

u:撤销

dd:将光标指定行剪切/删除。,后面带上p就是剪切。(支持前面带数组:n + dd,表示把指定连续n行剪切/删除。)

x:在光标位置向后 删除一个字符(在一行内)。(也支持带n,n+x,向后删除n个字符)

shift + x = X :在光标位置向前 删除一个字符(在一行内)。(也支持带n,n+x,向前删除n个字符)

r + 字符:对光标指定的位置进行一个字符的替换。(也支持n,**n + r + 字符,**向后替换n个字符)

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

i:按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件;

a:按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

o:按「o」进入插入模式后,是插入新的一行,从行首开始输入文字

shift + ;,即**:**:进入底行模式。

移动光标:可通过上下左右移动,也可以用 h j k l分别对应左 下 上 右移动:h(左),j(下),k(上),l(右)。也可以带n。

G:移动到文章的最后

nG:移动到文章的第n行

gg:进入到文本开始

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

^:移动到光标所在行的"行首"

w:光标跳到下个字的开头,(以单词为单位,往后移)

b:光标回到上个字的开头,(以单词为单位,往前移)

e:光标跳到下个字的字尾

nl:光标移到该行的第n个位置,如:5l,56l

ctrl + r:取消撤销动作。(对撤销进行撤销)

shift + ` = ~:大小写转换。

shift + zz= ZZ:保存并退出。(不建议)(如果ctrl + z会中断vim,并形成临时文件。如果断网了,也会形成临时文件。临时文件是个隐藏文件。有了临时文件:进入vim时,R可恢复文件,D可删除临时文件。)临时文件其实是vim在保护文件。

批量化注释:先ctrl+v进入visual block模式,然后hjkl上下选择想要注释的行,再shift + i = I,再**//,再ESC**按一次或两次。

消除注释:先ctrl+v进入visual block模式,然后hjkl上下选择想要删除注释的行,一定要仅包含//,再d。

ctrl+b:屏幕往"后"移动一页

ctrl+f:屏幕往"前"移动一页

ctrl+u:屏幕往"后"移动半页

ctrl+d:屏幕往"前"移动半页

3插入模式(Insert mode)

插入模式 :其实就是我们的编辑模式。

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

4末行/底行模式(last line mode)

底行模式:用来进行让vim进行包括但不限于shell进行交互的。什么保存,退出,什么的。

在命令模式下 ,shift+:(输入冒号) 即可进入底行模式模式。输入wq就可以退出了。

如果刚进入vim的时候后面没有接文件,想要退出,就在命令模式下**:+ q!**即可。

4、1底行模式下的一些命令

w:表示保存当前文件

wq:表示存盘并退出vim

q:退出

!:强制

wq!:保存并强制退出

q!:表示不存盘强制退出

set nu:标出行数

set nonu:不标出行数

/关键字:做搜索

!command:不退出vim,可以进行shell命令的执行。最常用的就是查看常用函数使用方式,即man手册。

vs filename:分屏,多文件操作。(ctrl ww,切屏)(多屏之间支持跳转:即在这屏里面复制的东西,可以粘贴到另一屏)(其实也是vim了一个文件,vim创建的文件如果不保存,退出之后不会创建。只有保存后才会创建出来)

5、普通用户无法进行sudo提权的解决方案

不能进行sudo提权的原因是:普通用户并没有在sudoers白名单中。

1、首先转换为root用户

2、vim /etc/sudoers

3、在100行左右,和root的格式类似的添加一行,将新的一行的root位置处改为普通用户名

4、wq!强制保存退出。

5、提权成功。

6、vim配置问题

6、1配置原理

vim不是简单直接执行可执行程序就行,也会读取若干配置文件,其中最典型的配置文件叫 .vimrc。

6、1、1配置文件的位置

在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。

而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:".vimrc"。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。

切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~

打开自己目录下的.vimrc文件,执行 vim .vimrc

6、1、2常用配置选项,用来测试

设置语法高亮: syntax on

显示行号: set nu

设置缩进的空格数为4: set shiftwidth=4

相关推荐
2035去旅行12 小时前
bootcmd 详细讲解
linux·嵌入式·arm·soc
陈希12313 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
女神下凡13 小时前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
且从容.17 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道17 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
且从容.20 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落1 天前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨1 天前
WSL2的安装与使用
linux·wsl
微小的鱼1 天前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng1 天前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器