#《快乐的 Linux 命令行》

1
2
3
4
5
# 使得 shell 的历史记录功能忽略一个命令,如果相同的命令已被记录。
export HISTCONTROL=ignoredups

# 增加命令历史的大小,从默认的 500 行扩大到 1000 行。
export HISTSIZE=1000

不过MacOSzsh默认历史大小是2000,所以第二个不用改了。第一个好像也没用,改了一晚上都没啥效果。。。。

#vi

按键 移动光标
l or 右箭头 向右移动一个字符
h or 左箭头 向左移动一个字符
j or 下箭头 向下移动一行
k or 上箭头 向上移动一行
0 (零按键) 移动到当前行的行首
^ 移动到当前行的第一个非空字符
$ 移动到当前行的末尾
w 移动到下一个单词或标点符号的开头
W 移动到下一个单词的开头,忽略标点符号
b 移动到上一个单词或标点符号的开头
B 移动到上一个单词的开头,忽略标点符号
Ctrl-f or Page Down 向下翻一页
Ctrl-b or Page Up 向上翻一页
numberG 移动到第 number
G 移动到文件末尾

a命令:vi提供的追加文本的命令,如果把光标移动到行尾,输入a, 光标就会越过行尾,同时vi会进入插入模式。[1]

A命令:光标移动到行尾,同时vi进入输入模式。[2]

命令 效果
o 当前行的下方打开一行
O 当前行的上方打开一行

u命令:当在命令模式下,vi将会撤销最后一次修改。

命令 删除的文本
x 当前字符
3x 当前字符及其后的两个字符
dd 当前行
5dd 当前行及随后的四行文本
dW 从光标位置开始到下一个单词的开头
d$ 从光标位置开始到当前行的行尾
d0 从光标位置开始到当前行的行首
d^ 从光标位置开始到文本行的第一个非空字符
dG 从当前行到文件的末尾
d20G 从当前行到文件的第 20

真正的vi只是支持单层面的undo命令。vim则支持多个层面的。

#参考链接


  1. 然而好像没啥用,i编辑模式下向右移动一个字符就可以追加了。 ↩︎

  2. 这个就比较方便了,可以记住,挺好用的快捷键。 ↩︎