Linux学习之第五课时--文本编辑器
在linux系统中经常会修改配置文件,这些配置文件可以使用文本编辑器进行修改,最常使用的文本编辑器便是图形界面下的gedit以及字符界面下的nano和vim(vi)
- gedit文本编辑器
gedit是一款可以在linux图形界面下使用的兼容UTF-8的文本编辑器,使用GTK+编写而成,简单易用,对中文有良好的支持特性
在linux系统图形界面下单击面板上的【应用程序】 【附件】 【gedit文本编辑器】 或在图形界面下的终端中输入gedit命令
使用gedit文本编辑器的快捷键文档编辑
快捷键 |
功能 |
Ctrl+Z |
撤销 |
Ctrl+C |
复制 |
Ctrl+V |
粘贴 |
Ctrl+T |
缩进 |
Ctrl+Q |
退出 |
Ctrl+S |
保存 |
Ctrl+R |
替换 |
Ctrl+Tab |
切换 |
Ctrl+W |
关闭选项卡 |
- nano文本编辑器
nano是linux系统命令行界面中一款小巧,友好的文本编辑器
使用nano文本编辑器的快捷键文档编辑
快捷键 |
功能及描述 |
Ctrl+G |
求助(显示帮助) |
Ctrl+X |
离开(关闭目前文件缓冲区/离开nano) |
Ctrl+O |
写入(写入目前文件至磁盘) |
Ctrl+J |
对齐(对齐目前段落) |
Ctrl+R |
读档(插入其他文件至当前文件) |
Ctrl+W |
搜寻(查找字符串或正则表达式) |
Ctrl+Y |
上页(跳至前一画面) |
Ctrl+V |
下页(跳至后一画面) |
Ctrl+K |
剪下文字(剪下目前这行并存至剪贴板) |
Ctrl+U |
还原剪下(从剪贴板粘贴至目前这行) |
Ctrl+C |
游标位置(显示游标位置) |
Ctrl+T |
拼写检查(尝试运行拼写检查) |
Ctrl+P |
向上移动一行(跳至前一行) |
Ctrl+N |
向下移动一行(跳至后一行) |
Ctrl+F |
向前移动一行(向前跳一字符) |
Ctrl+B |
向后移动一行(向后跳一字符) |
Ctrl+A |
移动到当前行的开头(跳至目前行首) |
Ctrl+E |
移动到当前行的末尾(跳至目前行尾) |
Ctrl+L |
刷新当前屏幕(重新显示当前画面) |
Ctrl+^ |
标记文本(标记游标所在文字) |
Ctrl+D |
删除光标后一个字母(删除游标之下的字符) |
Ctrl+H |
向左边删一个字母(删除游标左侧的字符) |
Ctrl+I |
插入一个tab值(插入制表符于游标位置) |
Ctrl+\ |
查找并且替换(替换字符或正则表达式) |
Ctrl+M |
插入一个回车(插入新行于游标位置) |
Ctrl+_ |
跳转到某行(跳至指定行与列位置) |
Alt+C |
持续显示游标位置 |
Alt+L |
长行转换(是否首行缩进) |
Alt+Z |
是否暂停 |
Alt+X |
开启或关闭辅助模式 |
Alt+M |
开启或关闭鼠标支持 |
Alt+Y |
开启或关闭语法色彩标示 |
Alt+] |
搜索下一括号 |
- Vim(vi)编辑器
vim是从vi发展出来的一个文本编辑器。vim是linux系统的标准编辑器,用于编辑任何ASCII文本,对于编辑源程序尤其有用。在linux系统Shell提示符下输入vim(vi)和文件名后就可以进入vim(vi)编辑界面。如果系统不存在该文件,就会创建文件,如果系统存在该文件,就会编辑文件
Vim(vi)编辑器有三种基本工作模式,分别是命令模式,插入模式和末行模式
命令模式
进入vim(vi)编辑器之后,系统默认处于命令模式。命令模式控制屏幕光标的移动,字符,字或行的删除,移动,复制某区域等,在命令模式下,按冒号键[:]可以进入末行模式。在命令行模式下按字母[A]就可以进入插入模式
插入模式
只有在插入模式下,才可以进行文字输入。在插入模式下按[Esc]键可以回到命令模式
末行模式
将文件进行保存或退出vim(vi)编辑器,也可以设置编辑环境,替换字符或删除字符。在末行模式下按[Esc]键可以回到命令模式
图示表示vim(vi)编辑器的三种模式之间的关系
进入插入模式
当在Shell提示符下输入”vim(vi)”之后就进入了命令模式,在命令模式下是不能输入任何数据的
在命令模式下使用下表命令进入插入模式
命令 |
功能及描述 |
i |
从光标当前所在位置之前开始插入 |
a |
从光标当前所在位置之后开始插入 |
I |
在光标所在行的行首插入 |
A |
在光标所在行的行末尾插入 |
o |
在光标所在的行的下面新开一行插入 |
O |
在光标所在的行的上面新开一行插入 |
s |
删除光标位置的一个字符,然后进入插入模式 |
S |
删除光标所在的行,然后进入插入模式 |
光标的移动
在命令模式下使用命令进行光标的移动
命令 |
功能 |
向上箭头 |
使光标向上移动一行 |
向下箭头 |
使光标向下移动一行 |
向右箭头 |
使光标向右移动一行 |
向左箭头 |
使光标向左移动一行 |
nk |
使光标向上移动n行,n代表数字 |
nj |
使光标向下移动n行,n代表数字 |
nh |
使光标向左移动n行,n代表数字 |
nl |
使光标向右移动n行,n代表数字 |
H |
使光标移动到屏幕的顶部 |
M |
使光标移动到屏幕的中部 |
L |
使光标移动到屏幕的底部 |
Ctrl+B |
使光标往上移动一页屏幕 |
Ctrl+F |
使光标往下移动一页屏幕 |
Ctrl+U |
使光标往上移动半页屏幕 |
Ctrl+D |
使光标往下移动半页屏幕 |
Ctrl+P |
使光标往上移动一行 |
Ctrl+N |
使光标往下移动一行 |
n| |
使光标移动到第n个字符处,n代表数字 |
n+ |
使光标向下移动n行,n代表数字 |
n- |
使光标向上移动n行,n代表数字 |
n$ |
使光标移动到以当前行算起的第n行尾,n代表数字 |
命令模式操作
在命令模式下使用下表命令进行命令模式操作
类型 |
命令 |
功能 |
删除 |
nx |
删除光标所在位置开始的n个字符,n代表数字 |
|
nX |
删除光标所在位置前面的n个字符,n代表数字 |
|
ndd |
从光标所在行开始删除n行,n代表数字 |
|
ndb |
删除光标所在位置的前面n个单词,n代表数字 |
|
ndw |
从光标所在位置开始删除几个单词,n代表数字 |
|
d$ |
删除光标到行尾的内容(含光标所在处字符) |
|
D |
删除光标到行尾的内容(含光标所在处字符) |
|
dG |
从光标位置所在行一直删除到文件尾 |
复制和粘贴 |
nyw |
复制光标所在位置开始的n个单词,n代表数字 |
|
nyy |
复制从光标所在行开始的n行,n代表数字 |
|
y$ |
复制光标所在位置到行尾内容到缓冲区 |
|
y^ |
复制光标所在位置到行首内容到缓冲区 |
|
nYY |
将当前开始的n行复制都缓冲区,n代表数字 |
|
p |
将缓冲区内的内容写到光标所在位置 |
替换 |
r |
替换光标所在处的字符,按[R]键之后输入要替换的字符 |
|
R |
替换光标所在处的字符,直到按下[Esc]键为止,按[R]键之后输入要替换的字符 |
撤销和重复 |
u |
撤销上一个操作。按多次u可以执行多次撤销 |
|
U |
取消所有操作 |
|
. |
再执行一次前面刚完成的操作 |
列出行号 |
Ctrl+g |
列出光标所在行的行号 |
保存和退出 |
ZZ |
保存退出 |
|
ZQ |
不保存退出 |
查找字符 |
/关键字 |
先按[/]键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按[n]键会往后查找下一个关键字,而按[N]键会往相反的方向查找 |
|
?关键字 |
先按[?]键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按[n]键会往后查找下一个关键字,而按[N]键会往相反的方向查找 |
合并 |
nJ |
将当前行开始的n行进行合并,n代表数字 |
|
J |
消除光标所在行与下一行之间的换行,行尾没有空格的话会自动添加一个空格 |
末行模式操作
在使用末行模式之前,请先记住按[Esc]键确认已经处于命令模式后,再按冒号[:]即可进入末行模式。使用下表命令进行末行模式操作
类型 |
命令 |
功能及描述 |
运行Shell命令 |
:!command |
运行Shell命令,command代表命令 |
:r!command |
将命令运行的结果信息输入到当前位置,command代表命令 |
|
:n1,n2 w !command |
将n1到n2行的内容作为命令的输入,n1和n2代表数字,command代表命令 |
|
查找字符 |
:/str/ |
从当前光标开始往右移动到有str的地方,str代表字符 |
:?str? |
从当前光标开始往左移动到有str的地方,str代表字符 |
|
替换字符 |
:s/str1/str2/ |
将光标所在行第一个字符str1替换为str2,str1和str2代表字符 |
:s/str1/str2/g |
将光标所在行所有字符str1替换为str2,str1和str2代表字符 |
|
:n1,n2s/str1/str2/g |
用str2替换从第n1行到第n2行中出现的str1,str1和str2代表字符,n1和n2代表数字 |
|
:% s/str1/str2/g |
用str2替换文件中所有的str1,str1和str2代表字符 |
|
:.,$s/str1/str2/g |
将从当前位置到结尾的所有的str1替换为str2,str1和str2代表字符 |
|
保存和退出 |
:w |
保存文件 |
:w filename |
将文件另存为filename |
|
:wq |
保存文件并退出vim(vi)编辑器 |
|
:wq filename |
将文件另存为filename后强制退出vim编辑器 |
|
:wq! |
保存文件并强制退出vim编辑器 |
|
:wq! filename |
将文件另存为filename后强制退出vim编辑器 |
|
:x |
保存文件并强制退出vim编辑器,其功能和wq!相同 |
|
:q |
退出vi编辑器 |
|
:q! |
如果无法离开vim,强制退出vi编辑器 |
|
:n1,n2w filename |
将第n1行开始到n2行结束的内容保存到文件filename中,n1和n2代表数字 |
|
:nw filename |
将第n行内容保存到文件filename中,n代表数字 |
|
:1,.w filename |
将从第一行开始到光标当前位置的所有内容保存到文件filename中 |
|
:.,$w filename |
将光标当前位置开始到文件末尾的所有内容保存到文件filename中 |
|
:r filename |
打开另外一个已经存在的文件filename |
|
:e filename |
新建名为filename的文件 |
|
:f filename |
把当前文件改名为filename文件 |
|
:/str/w filename |
将包含有str的行写到文件filename中,str代表字符 |
|
:/str1/,/str2/w filename |
将从包含有str1开始到str2结束的内容写入到文件filename中,str1和str2代表字符 |
|
删除 |
:d |
删除当前行 |
:nd |
删除从当前行开始的n行,n代表数字 |
|
:n1,n2 d |
删除从n1行开始到n2行为止的所有内容,n1和n2代表数字 |
|
:.,$d |
删除从当前行开始到文件末尾的所有内容 |
|
:/str1/,/str2/d |
删除从str1开始到str2为止的所有内容,str1和str2代表字符 |
|
复制和移动 |
:n1,n2 co n3 |
将从n1行开始到n2行为止的所有内容复制到n3行后面,n1,n2和n3代表数字 |
:n1,n2 m n3 |
将从n1行开始到n2行为止的所有内容移动到n3行后面,n1,n2和n3代表数字 |
|
跳到某一行 |
:n |
在冒号后输入一个数字,再按回车键就会跳到该行,n代表数字 |
设置vim(vi)环境 |
:set number |
在文件中的每一行前面列出行号 |
:set nonumber |
取消在文件中的每一行前面列出行号 |
|
:set readonly |
设置文件为只读状态 |