基础篇:一文讲懂树莓派命令行文本编辑工具Vim的使用
简介
众所周知,在Linux系统下的命令行调试界面,经常会遇到需要文本编辑的情况,而树莓派官方系统默认自带了Nano编辑器,Nano的操作门槛更低,但却不如Vim编辑器方便。Vim编辑器是由早期在Linux系统中流传广泛的编辑器Vi编辑器演化而来,更通用,使用也更广泛,操作习惯更依赖于纯键盘操作,所以使用门槛更高,但我相信,今天我们可以快速搞懂内里玄机,一步一步掌握该工具的使用,提高生产力!
硬件准备
- 树莓派主机(3B/3B+ 、 4B等,提前安装好系统)
- HDMI显示屏(推荐直接使用VNC或SSH工具远程登录,则可以少准备一个显示屏)
- 无线键鼠一套(有线也可以,远程访问则可以不用)
- 路由器
- Windows主机
软件准备
- 确保树莓派成功连接互联网(可以参考前面的教程连接配置网络)
- Vim编辑器的安装
- 输入指令
sudo apt-get install vim

测试vim编辑器
输入指令
vim test.txt如果成功进入编辑界面说明软件安装成功,否则检查网络环境,重新执行步骤1、2进行安装编辑界面如下:

注意这里的 ~ 符号代表无内容的空行
安装失败界面如下:

退出Vim编辑器
在上一步骤中进入编辑器后,先不要尝试输入其他内容,直接输入英文的
:q则可以直接回到命令行窗口,如果不小心输入了内容,则先按Esc回到初始状态,再输入:wq,回到命令行窗口配置Vim编辑器(可先跳过该步骤,学会下面的基本使用后再来配置)
为方便Vim的使用,可以在/etc/vim/vimrc文件后面添加下面三句
set nu # 显示行号
syntax on # 语法高亮
set tabstop=4 # tab退四格
使用教程
Vim编辑器工作模式介绍
在开始使用之前,有一个很多Vim教程都忽略掉的问题,就是Vim编辑器的工作模式介绍,这一点非常关键,关乎后面的功能介绍能否快速理解所以请大家足够重视!(os:想当初,我就是没搞清楚这个模式,被搞得晕头转向的。)Vim编辑器一共有三种工作模式,每种模式分别用来执行不同的操作和功能,分别介绍如下:
1.1 初始模式
进入方式:使用vim [file-name] 指令进入刚刚打开vim的模式,或者在任意模式下按'Esc' 按键进入该模式。
用途:模式切换,文件保存,退出vim,文本查找等用途。

1.2 可视模式/视图模式
进入方式:按Esc退出编辑模式,非编辑模式下按v 进入可视模式。
用途:在此模式下,可以使用上、下、左、右键或者 k(上)、j(下)、h(左)、l(右) 命令进行光标移动并选中文字,还可以对文件内容进行复制、粘贴、替换、删除等操作。

1.3 输入模式/编辑模式
进入方式:在初始模式下,按i 或a 进入该模式。
用途:在输入模式下可以对文件执行写操作。

基本操作(分别按模式归类
初始模式
- :w 保存不退出
- :q 不保存退出,一般与w搭配
:wq保存并退出vim,回到命令行界面 - :! 强制性操作,一般与q搭配
:!q为强制退出不保存 - / + 文本 查找字符串命令,查找多个匹配结果,可以n键向下查找,N向上查找。
- set nu 显示行数。
- set nonu 不显示行数
- sp + 文件路径 再打开一个窗口,sp表示水平切分窗口,vs表示垂直切分窗口。
- v 进入视图模式
- i/a 进入编辑模式
视图模式
- 上、下、左、右键或者 k(上)、j(下)、h(左)、l(右) 命令进行光标移动并选中文字
- 选中文本后,d剪切 y复制 p粘贴
- x 删除光标所在的单个字符
- dd 删除一整行(相当于剪切),p 粘贴
- yy 复制单行
- u 撤销
- Esc按键 退出视图模式回到初始模式
编辑模式
- Esc按键 退出视图模式回到初始模式
- 其他按键则正常输入文本即可
补充
至此为止,你已经初步掌握Vim编辑器的使用了,是不是没有想象的那么难,当然上面介绍的主要是常用的一些操作,基本也能满足日常Linux的使用了。新手使用vi可能不习惯,慢慢的被虐多了就觉习惯了 。顺便提醒一句,linux系统是区分大小写的。另附vi/vim键盘图一张,想探索更多操作就慢慢研究这张图吧。

下期预告:
进阶篇:树莓派OLED的使用
欢迎各位老铁一键三连,本号后续会不断更新树莓派、人工智能、STM32、ROS小车相关文章和知识。
大家对感兴趣的知识点可以在文章下面留言,我可以优先帮大家讲解哦
原创不易,转载请说明出处。
基础篇:一文讲懂树莓派命令行文本编辑工具Vim的使用的更多相关文章
- 基础篇|一文搞懂RNN(循环神经网络)
基础篇|一文搞懂RNN(循环神经网络) https://mp.weixin.qq.com/s/va1gmavl2ZESgnM7biORQg 神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子,只 ...
- Python 命令行解析工具 Argparse介绍
最近在研究pathon的命令行解析工具,argparse,它是Python标准库中推荐使用的编写命令行程序的工具. 以前老是做UI程序,今天试了下命令行程序,感觉相当好,不用再花大把时间去研究界面问题 ...
- Linux 命令行作弊工具安利
本文转自 微信公众号<Linux爱好者>的一篇文章,觉得工具非常好使,且极具使用价值,所以在此安利一下 Linux 用户的福音,记忆力解放!快速调用复杂命令 刚学的一句新命令,才用完就忘了 ...
- 【转】curl 命令行下载工具使用方法小结
获取curl curl 命令行下载工具 curl的官方网站为: http://curl.haxx.se官方下载页面为:http://curl.haxx.se/download.html 你可能并不清楚 ...
- Linux命令行下的vim文本编辑器
Linux命令行下的vim文本编辑器 下面这个网站的地址讲解的非成分清楚!!!! http://blog.csdn.net/niushuai666/article/details/7275406 学习 ...
- python之命令行解析工具argparse
以前写python的时候都会自己在文件开头写一个usgae函数,用来加上各种注释,给用这个脚本的人提供帮助文档. 今天才知道原来python已经有一个自带的命令行解析工具argparse,用了一下,效 ...
- 命令行下载工具 wget
wget 是一个简单而强大的跨平台命令行下载工具,包括 Windows 也有对应的版本.全称 GNU Wget,属于 GNU 计划的一部分,自由软件.支持 HTTP.HTTPS 和 FTP 协议,可在 ...
- 写了个 Markdown 命令行小工具,希望能提高园友们发文的效率!
写了个 Markdown 命令行小工具,希望能提高园友们发文的效率! 前言 笔者使用 Typora 来编写 Markdown 格式的博文,图片采用的是本地相对路径存储(太懒了不想折腾图床). 时间久了 ...
- ElasticSearch 命令行管理工具Curator
一.背景 elastic官网现在已经大面积升级到了5.x版本,然而针对elasticsearch的命令行管理工具curator现在仍然是4.0版本. 刚开始找到此工具,深深的怕因为版本更迭无法使用,还 ...
随机推荐
- Java | 方法的定义 & 重载 & 递归
方法 方法就是一段用来完成特定功能的代码片段. 方法用于定义该类或该类的实例的行为特征和功能实现.方法是类和对象行为特征的抽象.在面向对象中,整个程序的基本单位是类,方法是从属于类和对象的. 方法 ...
- MAC系统如果碰到报错信息:sudo:command not found
** 一般要考虑最近是否有别人或者自己修改过环境变量,这种报错往往是因为环境变量设置错误导致的. ** 1. 首先要获得创建,或者是打开bash_profile的权限,请在命令行中输入: export ...
- RPC远程协议之原理分析
在近几年工作中发现,功能服务化或微服务化越来越流行,逐渐成为实现中大型分布式系统架构的主要方式,而在分布式系统中的不同节点应用间的通信中,RPC远程协议扮演关键作用.实际上,在日常工作中,我们也多多少 ...
- python之数据驱动yaml操作
Mail163.yaml配置文件如下: login_data: url : 'https://mail.163.com/'case1: user : '' passwd : '' errorText ...
- tomcat禁用PUT,DELETE等一些不必要的HTTP方法
一.背景 公司进行安全整改, 技术要求:系统软件所需支撑的WEB容器环境应禁止除GET和POST外其他HTTP(S)方法. 提供凭证:建议在不影响业务的前提下,禁用PUT.DELETE.HEAD.OP ...
- Spring Cloud 从入门到精通(一)Nacos 服务中心初探
什么是Nacos? Nacos是阿里巴巴开源的项目,是一个更易于帮助构建云原生应用的动态服务发现.配置管理和服务管理平台.英文全称 Dynamic Naming and Configuration ...
- Linux符号描述
& 表示任务在后台执行,如要在后台运行redis-server,则有 redis-server &&& 表示前一条命令执行成功时,才执行后一条命令 ,如 echo ...
- idea创建web工程、配置tomcat及基本配置
背景 现在许多人从eclipse转到idea了,小编也不例外.但是刚转初期还是有挺多不适应的,特总结了创建maven的web工程.配置tomcat服务器及基本配置.有了这些配置,上手idea也就跟ec ...
- 说说Java异步调用的几种方式
日常开发中,会经常遇到说,前台调服务,然后触发一个比较耗时的异步服务,且不用等异步任务的处理结果就对原服务进行返回.这里就涉及的Java异步调用的一个知识.下面本文尝试将Java异步调用的多种方式进行 ...
- Django GIS SQL注入漏洞(CVE-2020-9402)
影响版本 Django 1.11.29之前的1.11.x版本.2.2.11之前的2.2.x版本和3.0.4之前的3.0.x版本中存在SQL注入漏洞 提示有admin.vuln.vuln2,3个页面,存 ...