//
新手上路,小白,如有错误欢迎指正,不喜勿喷
对于嵌入式开发工作人员来说,C语言是一项必须掌握的技能。在Linux操作系统下,开发工具的开源方式可以让大家获得更多的资源,的到更多的信息,学会在linux平台下的C语言编程是每个嵌入式工程师必备的技能。
在Linux下编程,我们将不在拥有集成开发环境,而是使用EDIT的工具,最经典的就是VI(或者vim),还有一些更高端的如Emacs等,我们的编辑程序与编译工作是分开的。第一天的学习主要就了解了VI编辑器的一些基本用法,学会这些用法将会使我们的编程效率倍增,下面就对这段时间的学习进行汇总。
一、VI的三种模式
一般情况下VI可以分为三种模式,即命令行模式、插入模式、底行模式。命令行模式可以控制光标的移动、字符和行或者段的删除,复制等,还可以进入插入模式或者底行模式。插入模式下才可对文本内容进行编辑,按ESC可以进入命令行模式。底行模式可以保存或者退出VI,即在命令模式下加“:”,一般将这种模式归结为命令模式。
二、基本操作
使用vim或者vi命令直接进入一般模式,如果想建立一个特定的ex.c文件等,可以使用vim ex.c来创建,实例:
administrator@deepin-pc:/$ vim ex.c
进入vim后按i进入插入模式,再通过命令模式可以退出或者保存vim。
vim的命令模式模式下,有非常丰富的命令可用,可以实现控制光标的移动、字符和行或者段的删除,复制等,具体如下:
指令 |
作用 |
h 或 向左箭头键(←)
光标向左移动一个字符
j 或 向下箭头键(↓)
光标向下移动一个字符
k 或 向上箭头键(↑)
光标向上移动一个字符
l 或 向右箭头键(→)
光标向右移动一个字符
[Ctrl] + [f]
屏幕向下移动一页
[Ctrl] + [b]
屏幕向上移动一页
[Ctrl] + [d]
屏幕向下移动半页
[Ctrl] + [u]
屏幕向上移动半页
+
光标移动到非空格符的下一行
-
光标移动到非空格符的上一行
n-或者n+
那个 n 表示数字,例如 20 。移动n行,向上或者向下
0 或功能键[Home]
这是数字『 0 』:移动到这一行的最前面字符处 (常用)
$ 或功能键[End]
移动到这一行的最后面字符处(常用)
H
光标移动到这个屏幕的最上方那一行的第一个字符
M
光标移动到这个屏幕的中央那一行的第一个字符
L
光标移动到这个屏幕的最下方那一行的第一个字符
G
移动到这个档案的最后一行(常用)
nG
n 为数字。移动到这个档案的第 n 行。
gg
移动到这个档案的第一行,相当于 1G
/word
向光标之下寻找一个名称为 word 的字符串
?word
向光标之上寻找一个字符串名称为 word 的字符串。
:1,$s/word1/word2/g
从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
x, X
在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
nx
n 为数字,连续向后删除 n 个字符
dd
删除游标所在的那一整行
ndd
n 为数字。删除光标所在的向下 n 行
d1G
删除光标所在到第一行的所有数据
dG
删除光标所在到最后一行的所有数据
d$
删除游标所在处,到该行的最后一个字符
d0
那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
yy
复制游标所在的那一行(常用)
nyy
n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)
y1G
复制游标所在行到第一行的所有数据
yG
复制游标所在行到最后一行的所有数据
y0
复制光标所在的那个字符到该行行首的所有数据
y$
复制光标所在的那个字符到该行行尾的所有数据
p, P
p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行
c
重复删除多个数据
u
复原前一个动作
[Ctrl]+r
重做上一个动作