文章目录
从这篇文章开始,我们要来学习一些Linux中的开发工具。
这篇文章,我们先来学习一下Linux中的文本编辑器——vim。
1. 什么是vim
首先我们来认识一下什么是vim
2. vim的常用模式
上面提到,vim是一款多模式编辑器
那常用的模式都有哪些呢?
3. vim的基本操作
那要是有vim进行编辑,首先第一个问题我们怎么打开vim呢?
那上面说vim有好几种模式,那我们打开vim之后它是处于那种模式呢?
那么如果你进入vim之后想对文件进编辑,那么需要进入到插入模式下:
那然后我编辑好了,想退出vim,怎么退出?
再给大家补充一点注意事项:
4. vim命令集
首先为了后面方便演示和讲解,先给大家说一个在末行模式下,列出行号和取消行号的操作:
上面说这个命令是在末行模式下的。
但是我们要学的大部分命令其实都是在命令模式下用的指令。
4.1 命令模式命令集
那下面,我就边演示边给大家讲解命令模式下命令集
首先来一个
复制粘贴
依次撤销上一次操作
刚才复制的3行,我再敲个20p,粘贴20次,然后
对撤销进行撤销(恢复)
那如果我现在对刚才的撤销操作反悔了,我想撤销刚才的撤销操作(注意理解这句话的意思),能做到吗?
剪切&删除
上面讲了复制粘贴,那剪切怎么做?
然后给大家说一下:
移动光标(上下)
现在我把刚才的文本搞的行数多一点,然后来学一些移动光标的操作
然后,我现在想把光标移动到最后一行,怎么做?
然后我又想快速回到第1行:
那现在我想把光标定位到第n行,比如第88行,第456行,怎么做呢?
移动光标(左右)
刚才学的是光标的上下移动,那左右移动呢?
比如,如何快速定位到文本的最后一行:
直接定位到行首
另外还有:
那w是向后移动,向前呢?
文本内容大小写切换
在vim中还可以快速的进行大小写的切换:
替换
接下来学习一些替换操作:
r
:替换光标所在处的字符
nr
:替换光标所在处向后的n个字符
4.2 替换模式
刚才我们学的是把1个或n个字符替换成另外一个字符,但这样即使替换多个它们被替换的是同一个字符。
那如果我们想按自己的想法替换成不同的任意字符呢?
那替换完毕呢?
4.3 命令模式命令集(续)
我们再回到命令模式,继续学一些命令
删除
x
:每按一次,删除光标所在位置的一个字符
nx:一次删除n个
另外,刚才的删除都是从左往右删,如果从右往左呢?
Shift X
(即大写X):删除光标所在位置前面位置的一个字符
n Shift X
:删除光标所在位置前面的n个字符
4.4 上下左右移动光标
然后想给大家说一下:
但是我们一般不使用这个
4.5 插入模式的切换
上面我们说了从命令模式进入插入模式的方式不止一种,上面只讲了一个i
但其实呢,有好多个,我们这里主要学习三个:
大家可以自己试一试看看效果
4.6 末行模式命令集
末行模式上面我们已经学过几个操作了:
下面我们再来学几个,注意是在末行模式下
搜索匹配
不退出vim直接执行终端界面的命令
如果我们用vim写完一个test.c,想编译运行它,我们之前的方法就是保存退出vim,然后去编译执行它。
但其实,不退出vim,也可以搞:
替换
末行模式下也可以进行一些替换操作
多文件分屏显示
我们平时写代码可能还会多文件分离编译或者头文件源文件分开,就像这样
那我们在vim上可以不可以这样搞呢?
那这种情况我们怎么退出呢?
编译运行照样是可以的
然后,再给大家提一点:
5. vim的配置
Vim 的配置是用来自定义 Vim 的行为和外观的设置。通过修改 Vim 的配置,您可以根据自己的喜好和需求,定制编辑器的各种功能和界面元素。
那关于vim的配置,网上也可以找到很多相关的内容,这里就不详细介绍了。
配置好大概就是这样的:
6. 解决普通用户不能sudo的问题
我们之前的文章里遗留了一个问题,就是我们想使用sudo去对一些指令进行提权的时候,可能用不了sudo:
那这是怎么回事呢?
那我们如何把一个普通用户添加到信任列表里面或者说如何对一个普通用户进行授权呢?
那具体怎么做呢?