vi/vim
Linux 系统中配置文件以文本文件形式保存,用户通过编辑配置文件来管理系统。vi 是一种文本编辑器,vim 则是 vi 的加强版本,用户可以使用 vi/vim 编辑文件内容
语法
vi [arguments] [file ..]
vim [arguments] [file ..]
# -b 以二进制模式打开文件,用于编辑二进制文件和可执行文件
# -R 以只读方式打开文件
执行命令后会进入文本编辑器界面,并处于命令模式。vi/vim 共有三种模式 : 命令模式、输入模式、末行模式。切换模式的方法如下 :
命令模式
可以移动光标、复制粘贴、删除字符等,此状态下敲击键盘动作会被识别为命令,而非输入字符。常用操作如下 :
功能键 | 作用 |
i I a A o O | 切换到输入模式,在光标当前位置开始输入文本 切换到输入模式,在该行第一个字符前开始输入文本 切换到输入模式,在光标下一个位置开始输入文本 切换到输入模式,在该行最后的字符后开始输入文本 在当前行的下方插入一个新行,并进入输入模式 在当前行的上方插入一个新行,并进入输入模式 |
: | 切换到末行模式,在最底一行输入命令 |
/ ? | 文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示 文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示 |
←↓↑→ hjkl | 移动光标 (h) 向左、(j) 向下、(k)向上、(l) 向右移动光标 |
home ^ 0 | 移动到这一行的最前面字符处 |
end $ | 移动到这一行的最后面字符处 |
Page Down 组合键 : ctrl+f | 向下翻动一页 |
Page Up 组合键 : ctrl+b | 向上翻动一页 |
G 1G nG gg | 光标移动到最后一行 光标移动到第 1 行 光标移动到第 n 行 光标移动到第一行 |
gg | 光标移动到第一行 |
n N | 光标移动到下一个搜索 光标移动到下一个搜索结果 |
x del | 删除光标位置的一个字符 |
X backspace | 删除光标前的一个字符 |
dd ndd | 剪切光标所在的一行 剪切光标所在的向下 n 行 |
yy nyy | 复制光标所在的一行 复制光标所在的向下 n 行 |
p P | 将已剪切/复制的内容在光标下一行贴上 将已剪切/复制的内容在光标上一行贴上 |
u | 撤销上一个动作 |
组合键 ctrl+r | 重做上一个动作 |
ZZ ZQ | 保存内容并退出编辑器 不保存并强制退出编辑器 |
输入模式
进入输入模式后,能直接将字符输入到文件内。该模式下方会出现 -INSERT- 的字样,那就是可以输入任意字符的提示。常用操作 :
功能键 | 作用 |
ESC | 返回命令模式 |
backspace del | 删除光标前一个字符 删除光标处一个字符 |
←↓↑→ | 移动光标 |
home end | 移动到这一行的最前面字符处 移动到这一行的最后面字符处 |
Page Down Page Up | 向下翻一页 向上翻一页 |
末行模式
相较于命令模式的功能键,该模式通过输入命令来执行编辑器的操作。常用操作 :
命令 | 作用 |
:q :q! | 退出编辑器 强制退出编辑器 (不想保存编辑过的操作时使用) |
:wq :wq! | 保存内容并退出编辑器 强制保存并退出 |
/word ?word | 向光标之下搜索一个为 word 的字符串 向光标之上搜索一个为 word 的字符串 |
:n1,n2s/word1/word2/g | n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1,并替换为 word2 |
:1,$s/word1/word2/g :%s/word1/word2/g | 从第一行到最后一行寻找 word1 ,并替换为 word2 |
:1,$s/word1/word2/gc :%s/word1/word2/gc | 从第一行到最后一行寻找 word1 ,并替换为 word2,每次替换需要用户确认 |
:set nu :set nonu | 显示行号 取消显示行号 |
: ↑ : ↓ | 记录中上一条执行的命令 记录中下一条执行的命令 |
nano
另一种文本编辑器,没有 vi/vim 那样分三层模式,可以直接编辑文件内容,并且通过组合键来实现快捷功能
安装方式
# CentOS
yum -y install nano
# Debian
apt-get install -y nano
语法
nano [arguments] [file ..]
# -v 只读模式打开文件
快捷键 | 功能 |
ctrl + G F1 | 查看 nano 编辑器帮助 |
ctrl + X F2 | 退出编辑器 (若产生了修改会提示是否修改文件名以及保存) |
ctrl + O F3 | 保存当前文件 |
ctrl + W F6 | 搜索字符 |
alt + 6 ctrl + K | 复制光标所在的一行 剪切光标所在的一行 |
ctrl + U | 将已剪切/复制的内容在光标上一行贴上 |
ctrl + C | 显示光标位置 |
ctrl + R | 读取其他文件并插入光标位置 |
alt + U alt + E | 撤销上一个动作 重做上一个动作 |
ctrl+V F8 | 向下翻一页 |
ctrl+Y F7 | 向上翻一页 |
ctrl + 6 | 多行标记,用于多行操作,例如复制、剪切等,再按则取消标记 |
ctrl + T | 拼写检查 |
alt + # | 显示行号,再按则关闭行号显示 |
ctrl + _ | 跳转至某行 (输入行号) |
alt + Y | 语法高亮 |
ctrl + J | 对其当前段落 (以空格为分隔符) |