Nano编辑器由于其简单和易用,特别适合刚刚接触Linux的新人,而vi/vim编辑器更是因为自身的特色备受人们的追捧。
1、Nano编辑器的使用
1>打开方式
①在命令行中,后接待编辑的文件名,如[root@lizhi ~]# nano kitty.txt,它将在编辑模式下打开。
②在命令行中,不接文件名,Nano将在编辑模式下打开一个空白屏。
这里可以看到,在编辑模式下,屏幕底部呈现出一些可以通过指定的快捷键来触发的功能(^,即插入记号,代指Ctrl键)。
2>常用命令
你可以使用Ctrl+G打开帮助文档:
这里,你可以查看所有的编辑命令及其对应的描述信息的完整列表。
Ctrl+O:当你编辑文件完成时,需要此命令保存更改,此过程中,可以选择更改保存路径,最后Enter。
Ctrl+X:离开当前文件,如没有保存,则会丢失修改。
Ctrl+R:通过指定路径选择一个文件,将选择的文件中的内容插入到当前文件中。
Ctrl+K:剪切当前行。
Ctrl+U:粘贴。
Ctrl+C:取消当前的操作并返回先前的屏幕。
Ctrl+F:向前移动一个字符。
Ctrl+B:向后移动一个字符。
Ctrl+P:向上移动一行。
Ctrl+N:向下移动一行。
Ctrl+Space:向前移动一个单词。
Alt+Space:向后移动一个单词。
Ctrl+_(X,Y):X,Y代表第X行,第Y列。
2、vi/vim编辑器
Vi 是Unix世界里极为普遍的全屏幕文本编辑器,VIM是它的改进版本Vi IMproved的简称。Vim在Vi的基础上增加了很多新的特性,Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linux word文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs同样都是非常优秀的文本编辑器。
Vim的一个出众的特点是可以在多个不同的模式中进行操作:
1>命令模式
将允许你在文件中跳转和输入命令,这些命令是由一个或多个字母组成的简洁且大小写敏感的组合。加入你想重复执行某个命令特定次数,你可以在这个命令前加上需要重复的次数(当然这个规则只有少数例外)。如,yy(或y,yank的缩写)可以复制当前行,而4yy则复制整个从当前行到接下来的3行(总共4行)。
2>末行模式
将允许你可以操作文件(包括保存当前文件和运行外部的程序或命令)。要进入末行模式,你必须从命令模式输入ESC+:,再跟上你想使用的末行模式命令的名称。
3>插入模式
输入I,即可进入,再输入想要输入的内容。
4>常用命令
i:在当前字符的左边插入。
I:在当前行首插入。
Home:进入行首。
a:在当前字符的右边插入。
A:在当前行尾插入。
End:进入行尾。
o:在当前行下面插入一个新行。
O:在当前行上面插入一个新行。
c{motion}:删除 motion 命令跨过的字符,并且进入插入模式。比如:c$,这将会删除从光标位置到行尾的字符并且进入插入模式。ct!,这会删除从光标位置到下一个叹号(但不包括),然后进入插入模式。被删除的字符被存在了剪贴板里面,并且可以再粘贴出来。
d{motion}:和上面差不多,但是不进入插入模式。
fx:移动光标到当前行的下一个 x 处。很明显,x 可以是任意一个字母,而且你可以使用 ; 来重复你的上一个 f 命令。
tx:和上面的命令类似,但是是移动到 x 的左边一个位置。(这真的很有用)
Fx:和 fx 类似,不过是往回找。使用 , 来重复上一个F命令。
Tx:和 tx 类似,不过是往回移动到 x 的右边一个位置。
b:光标往前移动一个词。
w:光标往后移动一个词。
0:移动光标到当前行首。(是数字0)。
^:移动光标到当前行的第一个字母位置。
$:移动光标到行尾。
):移动光标到下一个句子。
( :移动光标到上一个句子。
:向下移动一屏。
gg:到文件首。
:向下移动半屏。
H:移动光标到屏幕上面。
:向上移动一屏。
G:到文件尾。
:向上移动半屏。
numG:移动光标到指定的行(num)。(比如 10G 就是到第 10 行)
M:移动光标到屏幕中间。
L:移动光标到屏幕下面。
*:读取光标处的字符串,并且移动光标到它再次出现的地方。
#:和上面的类似,但是是往反方向寻找。
/text:从当前光标处开始搜索字符串 text,并且到达 text 出现的地方。必须使用回车来开始这个搜索命令。如果想重复上次的搜索的话,按 n
移动到下个 text 处,N 移动到上一个 text 处 。
?text:和上面类似,但是是反方向。
d{motion}:剪切 motion 命令跨过的字符到剪贴板。比如,dw 会剪切一个词而 dfS 会将从当前光标到下一个 S 之间的字符剪切至剪贴板。
y{motion}:和上面类似,不过是拷贝。
c{motion}:和 d{motion} 类似,不过最后进入插入模式。
dd:剪切当前行。
Ndd:剪切N行。
yy:拷贝当前行。
Myy:复制M行。
cc:剪切当前行并且进入插入模式。
Y:拷贝当前行。
D:剪切从光标位置到行尾到剪贴板。
C:和 D 类似,最后进入插入模式。
x:剪切当前字符到剪贴板。
s:和x类似,不过最后进入插入模式。
P:粘贴。
:set number 显示行号。
:20,30 s/^/#/g 20-30行 用 # 注释掉。
:20,30 s/^#//g 20-30行 取消注释。
:wq! 保存更改到文件。
:x! 保存更改到文件。
ZZ 保存更改到文件。
:r filename 要插入另一个文件的内容到当前文件:r! Command 插入一个命令的输出到当前文档。
:help 获取vim的帮助手册。