嵌入式第11步——vi编辑器使用
用了3个小时看一个38分钟的视频,由于是小白,感觉介绍的内容很好,慢慢记录整理下来,为了以后复习用。
vi编辑器在使用过程中有很多提高效率的技巧。看up主:神圣雅诗人的“嵌入式基础课程”P4节总结如下技巧,有助于编程过程中提高效率:
1、 在terminal界面下输入vi 文件名 ,进入vi编辑器
2、 进入编辑器后是命令状态,此时输入的内容不会出现在代码区域。需要先输入a\i\o中的一个,然后才能进入编辑状态开始输入代码。
3、 退出编辑状态,改为命令输入状态用ESC键。
4、 命令状态包括:
linux命令含义: q(退出)、w(写入)、0(第一行或字母)、$(最后一行或字母)、y(复制)、d(剪切)、%(全部)
1):q (quit)退出没有修改的文件(若文件进行了修改没有保存,则命令无效)2):q! 强制退出,且不保存修改过的部分
3):w (write)保存文件,但不退出。相当于office里的ctrl+s
4):x (Exit)保存文件并退出,相当于命令:wq
5):w File 另存为File给出的文件名,不退出
6):r File (Read)读入File指定的文件内容插入到光标位置
7)[N]x (Expurgate)删除光标后连续的N个字符,放入缓冲区,可以用于粘贴
8)[N]dd (Delete)删除光标后连续的N行字符,放入缓冲区,可以用于粘贴.不粘贴的时候,相当于删除。
9)[N]yy (Yank)复制光标后连续的N行字符,放入缓冲区,可以用于粘贴
10)p 粘贴,p(小写)粘贴在光标行下方,P(大写)粘贴在光标行上方
11)u (Undo)取消上一次操作
12)y0 行首到光标位置复制
13)y$ 光标到行尾复制
14)d0 行首到光标剪切
15)d$ 光标到行尾剪切
16)range y 对块进行复制 , range范围可以用0(首个)、$(结尾)、%(全部)与逗号“,”组成“
命令技巧:(主要是在编辑过程中的定位技巧)
1) 养成随手保存的习惯: ESC-:w,避免工作白干了。
2) 结束工作时用:q,如果距离上一次保存后有编辑,用:wq
3) 用i进入编辑状态,是在光标原有位置开始编辑。
4) 用a进入编辑状态,光标出现在行尾。相当于i进入编辑状态后,再移动光标。可以提升录入效率
5) 用o进入编辑状态,在光标所在行的下一行开始一个空行。
6) C语音的头文件和正文代码之间加一些空行,会使代码看起来比较简洁。
7) 用I(大写)进入编辑状态时,光标到本行的第一个字符位置。主要用于注释掉代码(前面加//)
8) 用A(大写)进入编辑状态时,光标到本行最后一个字符位置。用于写入注释
9) 用O(大写)进入编辑状态时,在光标上一行加入一个空行。
10) 用:!command临时进入指令状态,可以使用linux的任何命令,查看后根据提示用回车键可以返回编辑状态。比如编程过程中查看:当前路径:!pwd .当前时间:!data
11) 不退出保存为另一个文件:w 新文件名
12) 命令状态下(按下ESC后),可以通过hjkl四个键控制光标的移动方向。
13) 命令状态下(按下ESC后),可以通过:行号控制光标移动到任意一行,同时:1G和:G控制光标到第一行和最后一行。
14) 命令状态下(按下ESC后),命令set number(=set nu)和set nonumber(=set nonu)显示和取消行号。
15) 命令状态下(按下ESC后),用“/字符串”可以查找代码内的字符串,开始查找后,可以利用n或N往上或往下继续查找。用”/^字符串“可以查找包含字符串的内容。
16) 替换命令:“:范围s/old str/new str”,不写范围的,只替换当前行,范围写法:“.”为当前行,”$”为最后一行。
:s/str1/str2 当前行内用str2替换str1
:s/str1/str2/g g(global)表示范围内全部替换,不带g只替换第一个
:.,$ s/str1/str2/g 当前行到最后一行进行替换
:1,$ s/str1/str2/g 第一行到最后一行进行替换
:%s/str1/str2/g 全部代码里进行替换

浙公网安备 33010602011771号