Gedit 编辑器
VS Code编辑器
VS Code是微软制作的开源编辑器,跨Windows、Linux及iOS平台都有一致的易用体验,推出后广受程序员们的欢迎, 配合各种插件可以打造丰富的功能,支持各种文件格式的语法高亮,甚至可以远程编辑服务器或开发板上的文件, 本书中的例子基本上都是使用VS Code编辑器写的。
下载安装
在Ubuntu自带的软件中心可以找到VS Code软件,通过搜索“vscode”即可安装,但目前Ubunut采用Snap软件市场来安装软件, 暂时还没有国内的镜像下载源,所以下载可能需要花比较长的时间。
我们推荐直接在Ubuntu下使用浏览器在VS Code官网下载deb包进行安装,顺便学习deb包的安装方法。
VS Code官网地址:https://code.visualstudio.com
VS Code 的安装步骤如下:
到官网找到下载的选项,可看到Linux平台下分deb和rpm安装包,Debian和Ubuntu系统都是用deb包,如下图所示。
下载后可以在浏览器中打开下载目录,默认的目录一般为用户家目录下的“/home/下载”。
找到下载好的deb包,直接双击即可安装。
如果想体验命令行安装deb包,可以使用以下命令:
1 | sudo dpkg -i 安装包的名字 |
使用命令行安装过程如下图所示。
安装完成后,可以通过“显示应用程序”中打开,如下图所示。
也可以通过终端打开,在终端下VS Code的打开命令为“code”:
1 2 | # 在终端中执行行下列命令: code |
输入命令回车后稍等一会即可。
类似地,如果希望用VS Code修改配置文件,使用sudo命令增加权限即可:
1 | sudo code 文件名 --user-data-dir |
其中的“–user-data-dir”参数是VS Code提示要输入的,如下图所示。
添加插件
VS Code的强大之处在于它的插件,刚开始的时候我们安装中文支持和c/c++插件即可。
中文支持
点击VS Code界面左侧的“插件图标”,在输入框中输入“chinese”后搜索,可以找到插件“Language pack extension for Chinese (Simplified)”, 点击插件下的install按钮即可安装。
安装插件后一般需要重启VS Code才能生效,平时界面的右下角通常也会有各种提示,如下图所示。
C/C++插件
VS Code本身就支持C/C++的语法高亮,但并不支持编译、运行、调试等功能,通过安装“C/C++”插件可扩展相应的功能。在插件安装栏中输入“c”即可搜索到“C/C++”插件,直接安装,如下图所示。
Vi/Vim编辑器
前面已多次提到Vi/Vim编辑器,大部分Linux系统中都会自带Vi编辑器已方便用户在终端上编辑文件,而Vim是Vi的升级版本, 它在Vi的基础上改进和增加了很多特性,是一个功能更强大、高度可定制的文本编辑器。如支持代码折叠、插件、多国语言支持、垂直分割视窗、拼字检查、上下文相关补完,标签页编辑等功能。热爱Vim编辑器的用户,能把它玩出花来,甚至直接把它打造成IDE。
在对Linux服务器进行运维或控制嵌入式开发板的时候,绝大部分情况下我们只能使用终端,而在终端编辑文件时使用Vi/Vim编辑器几乎是最好的选择, 所以即使它上手不易,但我们也绝不能逃避学习。对新手来说,要求能熟练使用Vi/Vim编辑器对文件进行基本的读写修改。
Vi/Vim编辑器
1、体积小
2、历史久远,所有Linux平台都支持
3、转换效率高
插入模式
Vim提供多个快捷键来从一般模式进入插入模式,见下表。进入插入模式之后,就可以正常地编辑文本了, 使用方向键来移动光标,回车键进行换行,操作方式与Windows记事本没有什么区别。
表 进入/退出插入模式的快捷键
快捷键 | 功能描述 |
i | 在当前光标所在位置插入文本 |
a | 在当前光标所在位置的下一个字符插入文本 |
o | 在光标所在位置后插入新行 |
r | 替换当前光标所在位置的字符 |
R | 可以替换当前光标所在位置之后的字符,按下“Esc”则退出 |
ESC | 退出插入模式 |
一般模式
在任意模式下按按键“Esc”可进入到一般模式。下表列出了一般模式下常用的快捷键。在一般模式下,可以进行复制,粘贴,删除,查找替换某个关键字等。
表 一般模式快捷键
快捷键 | 功能描述 | |
光标移动 | k / ↑ | 光标向上移动 |
j / ↓ | 光标向下移动 | |
h / ← | 光标向左移动 | |
l / → | 光标向右移动 | |
PageUp | 向上翻页 | |
PageDown | 向下翻页 | |
nG | 跳转到第n行 | |
文本查找与替换 | /word | 在文件中搜索关键字word |
n | 查找下一个关键字 | |
N | 查找上一个关键字 | |
:1,$s/word1/word2/gc | 将文本中的所有关键字word1用word2进行替换,需要用户进行确认。(使用:1,$s/word1/word2/g则直接全部替换)。这实际是运行在命令模式。 | |
撤销重做 | u | 撤销上一步的操作,等价于Windows的Ctrl+Z |
Ctrl+r | 重做上一步的操作。 | |
删除、剪切、复制、粘贴 | d | 删除光标所选的内容 |
dd | 删除当前行 | |
ndd | 删除光标后n行 | |
x | 剪切光标选中的字符 | |
y | 复制光标所选的内容 | |
yy | 复制当前行 | |
nyy | 复制当前行后n行 | |
p | 将复制的数据粘贴在当前行的下一行 | |
P | 将复制的数据粘贴在当前行的上一行 | |
区块操作 | v | 选择多个字符 |
V | 可以选择多行 | |
ctrl+v | 可以选择多列 |
命令行模式
在一般命令模式下,按下键盘的冒号键“:”,就可以进入命令行模式,继续输入要执行的命令按回车即可执行。
表 命令行模式快捷键
快捷键 | 功能描述 |
w | 保存文档 |
w | 另存为以为文件名的文档 |
r | 读取文件名为filename的文档 |
q | 直接退出软件,前提是文档未做任何修改 |
q! | 不保存修改,直接退出软件 |
wq | 保存文档,并退出软件。 |
set nu | 在行首加入行号 |
set nonu | 不显示行号 |
set hlsearch | 搜索结果高亮显示 |
! command | 回到终端窗口,执行command命令,按回车键可切回vim。 |
用Vi/Vim软件编写简单的sh脚本
到此为止,Vim的基本操作就介绍完了,最后我们尝试用Vim编写一个输出hello world的脚本,熟悉Vim的操作。
在终端中执行行下列命令:
1 | vim hello_world.sh |
然后进入插入模式(在一般模式下按“i”键),输入下列代码后,保存文件并退出(退出插入模式,进入命令行模式后,输入wq并回车), 注意以下内容全为英文符号。
1 | echo "helloworld,this is a script test!" |
此脚本文件中的echo命令的作用是将其后面的文本内容直接输出到终端上。
Vim退出后回到终端,通过source命令运行刚刚编写的脚本文件:
1 | source hello_world.sh |
可以看到终端会输出“helloworld,this is a script test!”字样。
初入Vim,简直是反人类操作。。。
Hankin
2020.07.12