Linux下C编程基础之:常用编辑器
3.2 常用编辑器
3.2.1 进入vi
Linux系统提供了一个完整的编辑器家族系列,如Ed、Ex、vi和emacs等。按功能它们可以分为两大类:行编辑器(Ed、Ex)和全屏幕编辑器(vi、emacs)。行编辑器每次只能对一行进行操作,使用起来很不方便。而全屏幕编辑器可以对整个屏幕进行编辑,用户编辑的文件直接显示在屏幕上,从而克服了行编辑那种不直观的操作方式,便于用户学习和使用,具有强大的功能。
vi是Linux系统的第一个全屏幕交互式编辑程序,它从诞生至今一直得到广大用户的青睐,历经数十年仍然是人们主要使用的文本编辑工具,足以见其生命力之强,而强大的生命力是其强大的功能带来的。由于大多数读者在此之前都已经用惯了Windows平台上的编辑器,因此,在刚刚接触时总会或多或少不适应,但只要习惯之后,就能感受到它的方便与快捷。
1.vi的模式
vi有3种模式,分别为命令行模式、插入模式及命令行模式。下面具体介绍各模式的功能。
(1)命令行模式。
用户在用vi编辑文件时,最初进入的为一般模式。在该模式中用户可以通过上下移动光标进行"删除字符"或"整行删除"等操作,也可以进行"复制"、"粘贴"等操作,但无法编辑文字。
(2)插入模式。
只有在该模式下,用户才能进行文字编辑输入,用户按[ESC]可键回到命令行模式。
(3)底行模式。
在该模式下,光标位于屏幕的底行。用户可以进行文件保存或退出操作,也可以设置编辑环境,如寻找字符串、列出行号等。
2.vi的基本流程
(1)进入vi,即在命令行下键入"vi hello"(文件名)。此时进入的是命令行模式,光标位于屏幕的上方,如图3.2所示。
图3.2 进入vi命令行模式
(2)在命令行模式下键入i进入插入模式,如图3.3所示。可以看出,在屏幕底部显示有"插入"表示插入模式中的输入状态,在该模式下可以输入文字信息。
图3.3 进入vi插入模式
(3)最后,在插入模式中,按"Esc"键,则当前模式转入命令行模式,并在底行行中输入":wq"(存盘退出)进入底行模式,如图3.4所示。
这样,就完成了一个简单的vi操作流程:命令行模式→插入模式→底行模式。由于vi在不同的模式下有不同的操作功能,因此,读者一定要时刻注意屏幕最下方的提示,分清所在的模式。
图3.4 进入vi底行模式
3.vi的各模式功能键
(1)命令行模式常见功能键如表3.1所示。
表3.1 vi命令行模式功能键
功 能 键 | 功 能 |
i | 切换到插入模式,在目前的光标所在处插入输入的文字,已存在的文字会向后退 |
a | 切换到插入模式,并从目前光标所在位置的下一个位置开始输入文字 |
o | 切换到插入模式,且从行首开始插入新的一行 |
[ctrl]+[b] | 屏幕往"后"翻动一页 |
[ctrl]+[f] | 屏幕往"前"翻动一页 |
[ctrl]+[u] | 屏幕往"后"翻动半页 |
[ctrl]+[d] | 屏幕往"前"翻动半页 |
0(数字0) | 光标移到本行的开头 |
G | 光标移动到文件的最后 |
nG | 光标移动到第n行 |
$ | 移动到光标所在行的"行尾" |
n<Enter> | 光标向下移动n行 |
/name | 在光标之后查找一个名为name的字符串 |
?name | 在光标之前查找一个名为name的字符串 |
x | 删除光标所在位置的一个字符 |
X | 删除光标所在位置的前一个字符 |
dd | 删除光标所在行 |
ndd | 从光标所在行开始向下删除n行 |
yy | 复制光标所在行 |
nyy | 复制光标所在行开始的向下n行 |
p | 将缓冲区内的字符粘贴到光标所在位置(与yy搭配) |
u | 恢复前一个动作 |
(2)插入模式的功能键只有一个,即按"Esc"键可回到命令行模式。
(3)底行模式常见功能键如表3.2所示。
表3.2 vi底行模式功能键
功 能 键 | 功 能 |
:w | 将编辑的文 |
- Linux下C编程基础之:gcc编译器(08-13)
- Linux下C编程基础之:gdb调试器(08-13)
- Linux下C编程基础之:make工程管理器(08-13)
- Linux下C编程基础之:使用autotools(08-13)
- Linux下C编程基础之:实验内容(08-13)
- Linux下C编程基础之:本章小结与思考与练习(08-13)
- 妤傛ḿ楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閸忋劍鏌熸担宥咁劅娑旂姴鐨犳0鎴滅瑩娑撴氨鐓$拠鍡礉閹绘劕宕岄惍鏂垮絺瀹搞儰缍旈懗钘夊閿涘苯濮幃銊ユ彥闁喐鍨氶梹澶歌礋娴兼ḿ顫呴惃鍕殸妫版垵浼愮粙瀣瑎...
- 娑擃厾楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
缁箖鈧拷30婢舵岸妫亸鍕暥閸╃顔勭拠鍓р柤閿涘奔绗撶€硅埖宸跨拠鎾呯礉閸斺晛顒熼崨妯烘彥闁喕鎻崚棰佺娑擃亜鎮庨弽鐓庣殸妫版垵浼愮粙瀣瑎閻ㄥ嫯顩﹀Ч锟�...
- Agilent ADS 閺佹瑥顒熼崺纭咁唲鐠囧墽鈻兼總妤勵棅
娑撴挸顔嶉幒鍫n嚦閿涘苯鍙忛棃銏n唹鐟欘枃DS閸氬嫮顫掗崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱遍崝鈺傚亶閻€劍娓堕惌顓犳畱閺冨爼妫跨€涳缚绱癆DS...
- HFSS鐎涳缚绡勯崺纭咁唲鐠囧墽鈻兼總妤勵棅
鐠у嫭绻佹稉鎾愁啀閹哄牐顕抽敍灞藉弿闂堛垼顔夐幒鍦欶SS閻ㄥ嫬濮涢懗钘夋嫲鎼存梻鏁ら敍灞藉簻閸斺晜鍋嶉崗銊╂桨缁崵绮洪崷鏉款劅娑旂姵甯夐幓顡嶧SS...
- CST瀵邦喗灏濆銉ょ稊鐎广倕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閺夊孩妲戝ú瀣╁瘜鐠佽绱濋崗銊╂桨鐠佸弶宸緾ST閸氬嫰銆嶉崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱濋崝鈺傚亶韫囶偊鈧喕鍤滅€涳附甯夐幓顡塖T鐠佹崘顓告惔鏃傛暏...
- 鐏忓嫰顣堕崺铏诡攨閸╃顔勭拠鍓р柤
娑撳洣绗€妤傛ɑ銈奸獮鍐叉勾鐠у嚖绱濇潻娆庣昂鐠囧墽鈻兼稉杞扮稑閸︺劌鐨犳0鎴炲Η閺堫垶顣崺鐔枫亣鐏炴洘瀚甸懘姘剧礉閹垫挷绗呴崸姘杽閻ㄥ嫪绗撴稉姘唨绾偓...
- 瀵邦喗灏濈亸鍕暥濞村鍣洪幙宥勭稊閸╃顔勭拠鍓р柤閸氬牓娉�
鐠愵厺鎷遍崥鍫ユ肠閺囨潙鐤勯幆鐙呯礉缂冩垵鍨庨妴渚€顣剁拫鍙樺崕閵嗕胶銇氬▔銏犳珤閵嗕椒淇婇崣閿嬬爱閿涘本鍨滅憰浣圭壉閺嶉绨块柅锟�...