[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ A ] [ B ] [ C ] [ D ] [ 下一页 ]
文本文件 只是碰巧包含人类可读文本的普通文件。 除此之外,它没有什么特别之处。 另一种文件,二进制文件,旨在由计算机解释。
如果您安装了 less
文件分页器(如果您没有安装,请安装它,它非常有用),您可以使用它查看任何类型的文件。 键入 less /etc/profile 以查看示例文本文件 --- 请注意,即使它们的含义晦涩难懂,您也可以读取字符。 键入 less /bin/ls 以查看二进制文件; 正如您所见,ls 程序并非旨在供人类阅读。
两种文件之间的区别纯粹在于它们包含的内容,这与其他一些系统(例如 DOS 或 MacOS)不同,后者实际上以不同的方式处理文件。
文本文件可以包含 shell 脚本、文档、版权声明或任何其他人类可读的文本。
顺便说一句,这说明了源代码和二进制可执行文件之间的区别。 /bin/ls 是您可以从 Debian 下载的二进制可执行文件,但您也可以下载一个文本文件,该文件告诉计算机如何创建 /bin/ls。 此文本文件就是源代码。 比较 /bin/ls 和 /etc/profile 说明了如果有人想理解和修改一个软件,源代码有多么重要。 自由软件为您或您的顾问提供所有这些重要的源代码。
文本编辑器 是用于创建和更改文本文件内容的程序。 大多数操作系统都有文本编辑器; DOS 有 edit
,Windows 有 Notepad
,MacOS 有 SimpleText
。
Debian 提供了令人眼花缭乱的各种文本编辑器。 vi
和 emacs
是经典的两个,可能都是最强大和使用最广泛的。 vi
和 emacs
都相当复杂,需要一些练习,但它们可以使编辑文本变得非常高效。 emacs
既可以在终端中运行,也可以在 X Window 系统下运行; vi
通常在终端中运行,但 vim
变体有一个 -g 选项,允许它与 X 一起工作。
更简单的编辑器包括 nedit
、ae
、jed
和 xcoral
。 nedit
和 xcoral
提供了易于使用的 X Window 系统图形界面。 还有几个 vi
变体,以及一个名为 XEmacs
的 Emacs 变体。
本教程不会详细介绍任何特定编辑器的使用,尽管我们将简要介绍 vi
,因为它体积小、速度快、几乎总是可用,并且无论您喜欢哪种编辑器,您有时可能都需要使用它。 Emacs 提供了自己优秀的交互式教程; 要阅读它,请使用 emacs 命令加载 Emacs,然后键入 F1 t。 对于对通用或编程编辑器感兴趣的新用户来说,Emacs 是一个极好的选择。
vi
创建和编辑文本文件
vi
(发音为 "vee eye")实际上是几乎每个类 Unix 操作系统都附带的唯一编辑器,Debian 也不例外。 vi
最初是在加利福尼亚大学伯克利分校编写的。 编辑器的名称是 "visual" 的缩写,指的是 vi
提供了文本文件的可视化显示; 这曾经被认为是一个独特的功能,让您了解该程序有多老。
vi
有些难以习惯,但具有许多强大的功能。 总的来说,我们建议新用户使用 Emacs 进行日常任务,例如编程。 但是,vi
有时更方便或唯一可用的编辑器; 它也是一个更小的文件可供下载。
以下关于 vi
的讨论也应适用于 vi
变体,例如 elvis
和 vim
。
vi testfile
在您的主目录中,通过键入 vi 后跟您要创建的文件名来调用 vi。 您将看到一个屏幕,左侧有一列波浪号 (~)。 vi
现在处于命令模式。 您键入的任何内容都将被理解为命令,而不是要添加到文件的内容。 为了输入文本,您必须键入命令。
i
两个基本的输入命令是 i,意思是“将我即将键入的文本插入到光标的左侧”,以及 a,意思是“将我即将键入的文本追加到光标的右侧”。 由于您正处于空文件的开头,因此这两个命令都可以使用。 我们任意选择了 i。
键入一些文本; 如果您想不出自己的,这里是哲学家查尔斯·桑德斯·皮尔斯的一句深刻的陈述
And what, then, is belief? It is the demi-cadence which closes a musical phrase in the symphony of our intellectual life. We have seen that it has just three properties: First, it is something that we are aware of; second, it appeases the irritation of doubt; and, third, it involves the establishment in our nature of a rule of action, or, say for short, a habit.
在每行之后按 RET,因为 vi 不会自动移动到下一行; 完成键入后,按 ESC 键离开插入或追加模式并返回到命令模式。
:wq
如果您已正确完成所有操作,当您键入此命令时,它应该出现在屏幕底部,所有 ~ 字符下方。 : 告诉 vi
您即将给出 series of commands; w 表示写入您刚刚键入的文件 --- 在大多数新程序中,这称为 “保存” --- q 表示退出 vi
。 因此,您应该回到 shell 提示符。
cat testfile
cat 将在屏幕上显示您键入的文件。
不要删除 testfile,我们将在下一个教程部分中使用它。
当您使用 vi
时,始终记住按 ESC 将使您返回到命令模式。 因此,如果您感到困惑,请按 ESC 几次并重新开始。
vi
有一个烦人的倾向,即每当您做一些不应该做的事情时,例如键入未知命令时,它都会发出哔哔声; 不必为此感到惊慌。
要使用 vi,您只需要阅读 在文件中移动,第 8.3.2.1 节 和 删除文本,第 8.3.2.2 节。 后面的章节解释了高级功能,但它们不是绝对必要的,尽管通常更有效率且不那么繁琐。
要在文件中移动,Debian 的 vi
允许您使用箭头键。 然而,传统的键也有效; 它们是 h 代表左,j 代表下,k 代表上,l 代表右。 选择这些键是因为它们在键盘的主行上相邻,因此易于键入。 许多人使用它们而不是箭头键,因为它们更容易用手指触及。
vi testfile
使用 vi
打开您之前创建的文件。 您应该看到您之前键入的文本。
使用箭头键或 hjkl 键在文件中移动。 如果您尝试在任何方向上移动太远,vi
将发出哔哔声并拒绝这样做; 如果您想在那里放置文本,则必须使用插入命令,例如 i 或 a。
:q
退出 vi
。
vi testfile
再次打开您的练习文件。
dd
dd 命令删除一行; 文件的第一行现在应该消失了。
x
x 删除单个字符; 第二行的第一个字母将被擦除。 出于历史原因 [13],删除键和退格键在 vi
中不起作用。 一些 vi
变体,例如 vim
,将允许您使用退格键和删除键。
10x
如果您在命令前键入一个数字,它将重复该命令多次。 因此,这将删除 10 个字符。
2dd
您也可以将数字与 dd 命令一起使用,删除两行。
:q
这会导致错误,因为您已更改文件但尚未保存。 有两种方法可以避免这种情况; 您可以 :wq,从而在退出时写入文件,或者您可以不保存就退出
:q!
使用感叹号,您告诉 vi
您是认真的,即使文件未保存,它也应该退出。 如果您使用 :q!,您的删除将不会保存到 testfile; 如果您使用 :wq,它们将被保存。
cat testfile
回到 shell 提示符,查看 testfile。 如果您使用了 :wq,它现在应该更短了,如果您使用了 :q!,则保持不变。
:q! 是一个优秀的命令,值得记住,因为如果您感到非常困惑并且感觉自己破坏了正在编辑的文件,您可以使用它来摆脱困境。 只需按 ESC 几次以确保您处于命令模式,然后键入 :q!。 这保证让您退出 vi
而不会造成任何损害。
您现在知道执行基本编辑所需的一切; 插入、删除、保存和退出。 以下各节描述了更快地执行操作的有用命令; 如果您愿意,可以跳过它们。
有很多移动命令,这是一个快速摘要
移动到下一个单词的开头
移动到下一个单词的末尾
移动到空格前下一个单词的末尾
移动到上一个单词的开头
移动到行首
^
移动到当前行的第一个单词
移动到行尾
RET
-
G
1G
nG
C-G
H
M
L
屏幕底部
将光标移动到第 n 列
C-f
C-b
C-b
向下滚动半屏
C-u
如果您想在某些文本前面输入多个空格,您可以在插入命令中使用数字。 输入数字 n,然后输入 i,后跟 SPACE 和 ESC。 您应该得到 n 个空格。
处理行的命令使用数字来引用行号。 G 是一个很好的例子; 如果您在它前面加上一个数字,它将转到该行。
本节提供了您可以使用的更全面的命令列表。 这只是一个参考; 如果您愿意,可以尝试这些命令以查看它们的作用。
a
追加到光标右侧
在行尾追加
在光标左侧插入文本
在当前行上第一个非空白字符的左侧插入文本
o
在当前行下方打开新行并插入文本
在当前行上方打开新行并插入文本
删除命令
删除光标下的字符
dw
dd
D
组合命令可以更强大。 特别是,d 后跟移动命令会从光标删除到您要求移动的任何位置。 一些例子
删除 n 个单词(ndw 也有效)
从当前位置删除到文件末尾
d1G
d$
dn$
撤消命令
u
撤消上一个命令
撤消对当前行的所有更改
“再次编辑”。 就像使用 :q! 退出并重新启动一样 --- 使您返回到上次执行 :w 保存的时间。
替换命令
将光标下的字符替换为 c
覆盖文本
更改当前单词
从当前位置更改文本到行尾
更改接下来的 n 个单词。(与 ncw 相同)
更改到第 n 行的末尾
更改到行尾(与 c$ 相同)
cc
更改当前行
s
ns
上述列表中允许您输入多个字符文本的命令必须使用 ESC 键退出,使您返回到命令模式。
要剪切文本,请使用 y 命令及其变体
复制当前行的副本
复制接下来的 n 行
yw
ynw
y$
粘贴命令
p
粘贴到光标右侧
P
粘贴到光标左侧
粘贴 n 个副本到光标左侧
vi
变体时,您也可以使用鼠标复制文本。 请参阅 X Window 系统,第 10 章,了解如何在 X 中复制和粘贴; 确保您在粘贴时处于插入模式,否则粘贴的文本将被解释为命令。当您删除时,删除的文本将被复制到缓冲区(剪贴板); 然后您可以使用粘贴命令。 这允许您剪切和粘贴,而 y 命令会导致复制和粘贴。
vi
具有搜索文本的命令。 如果您想移动到特定单词或字符,您也可以将这些用作移动命令。最简单的搜索命令是查找字符。
查找当前位置右侧或下方的下一个字符 c
Fc
查找当前位置左侧或上方的下一个字符 c
tc
Tc
;
重复上一个字符搜索命令
与 ; 相同,但反转原始命令的方向。
如果未找到您要搜索的字符,vi
将发出哔哔声或发出其他某种信号。 vi
允许您搜索任何文本,而不仅仅是字符。
/text
[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ A ] [ B ] [ C ] [ D ] [ 下一页 ]
Debian 教程 (过时文档)
向右和向下搜索 text 的下一个出现位置。