文章描述:本文简单介绍了几种提升 Ubuntu 终端使用舒适度的方式
01 键位互换
作为一个使用 vim 编辑工具的工作人员,会经常使用到 Left_Ctrl
键。根据 《Vim 实用技巧》中的建议,将 Caps Lock
同 Left_Ctrl
键位互换。网上有好几种方法,在这里推荐一种我自己使用的方法,该方法不止在 vim 中生效,在整个 Ubuntu 系统下都有效。
- 使用命令
sudo vim /usr/share/X11/xkb/keycodes/evdev
打开文件 - 在 vim 中搜索
/LCTL
注意这里使用sudo
权限打开文件,查找时建议使用大写,避免匹配不到 - 搜索结果如下类似,只需要将
CAPS
和LCTL
后面的数字置换即可实现,即将CAPS
后的值修改为 66,将LCTL
后的值修改为 37 - 保存退出
...
<CAPS> = 37;
...
...
<LCTL> = 66;
...
你也可以根据自己的习惯将其他键位置换,只需要在该文件下修改对应键位后的 数值 即可。
02 修改 .inputrc 文件
# 自动忽略大小写
set completion-ignore-case on
# 定义下箭头为根据已键入内容向后搜索命令历史
"\e[A": history-search-backward
"\C-P": history-search-backward
# 定义上箭头为根据已键入内容前后搜索命令历史
"\e[B": history-search-forward
"\C-N": history-search-forward
.inputrc
是 Ubuntu 中的一个配置文件,文件位置在 ~/.inputrc
,没有该文件的用户可以自己创建该文件。这是我自己的 .inputrc
文件,主要实现两个功能:
- 第一个是在终端下输入关于文件名时忽略大小写,以前如果想在用户目录下进入桌面目录,必须输入
cd Desktop
,这个大写的D
比较烦人。这样设置后,可以直接输入cd de
然后按下tab
键就会自动补全为cd Desktop/
,就可以直接回车进入了,方便不少。 - 第二个是关于 ↑ 和 ↓ 还有
ctrl + p
ctrl + n
的设置,默认情况下 上键 和ctrl + p
会查询上次使用的shell
命令。如果要翻前几次的命令,会比较麻烦。经过上述配置后,可以通过输入命令开始的前几个字符,按下ctrl + p
,将会补全为 历史命令中最近的,以输入字符开始的命令。如下所示:
$ # 历史命令
$ cd file
$ pwd
$ ls
$ cd
$ ...
$
$ c # ctrn + p 可以直接补全为 cd file 命令
.inputrc
文件还有好多其他设置,具体可以通过 bind -p
或 bind -v
来查询,可以通过https://www.gnu.org/software/bash/manual/html_node/Readline-Init-File-Syntax.html 进一步学习,有兴趣的话可以进一步打造自己的个性化设置。
注意:Ubuntu 下终端命令行输入方式有两种 一种是 emacs,另一种是 vi 模式,默认的是 emacs 输入模式。特别喜欢 vim 的朋友,也可以在 .bashrc 文件中添加如下命令,将终端输入模式设置为 vi 模式。
# .bashrc 文件
# cmd VIM mode
# set -o vi
# cmd emacs mode
set -o emacs
# set -o 后面的设置参数 可以在终端下输入 set -o 查询
03 命令行快捷方式
在我们平时输入命令时,如果发现了前面输入错了,在连续按左键移动是很麻烦的,这里介绍几个我自己常用的命令行快捷键:
# 光标移动
ctrl + a : 移到行首
ctrl + e : 移动行末
ctrl + f : 移动到下一个字符
ctrl + b : 移动到上一个字符
alt + f : 移动到下一个词条
alt + b : 移动到上一个词条
# 编辑命令
ctrl + k : 删除光标到行末的字符
ctrl + u : 删除光标到行首的字符
ctrl + w : 删除光标位置到词条首
alt + d : 删除关标位置到词条末
ctrl + h : 删除光标前面的一个字符
ctrl + d : 删除当前光标下的字符 (注意:当前命令行没有任何字符时,会注销系统或结束终端)
# 特别的
$ vim main 历史命令
$
$ !! 执行上一次命令 即 执行 vim main
$ !!.cpp 上次命令尾添加 .cpp 后执行 则执行的命令为 vim main.cpp
这几对移动与删除是比较常用的操作,如果有兴趣学习更多的命令,可以去这个网站看看:https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html#Command-Line-Editing
04 系统快捷键
最后再介绍几个常用的系统快捷键
# 关于终端
ctrl + alt + t : 打开新终端
ctrl + shift + n : 打开一个新的终端
ctrl + shift + t : 针对当前窗口 打开一个新的标签
ctrl + shift + d : 显示桌面
ctrl + d : 当终端没有输入时 直接退出终端
# 关于窗口
ctrl + F10 : 最大化 当前窗口
F11 : 全屏
# 其他
alt + F2 :运行控制台命令 当您必须使用只能从终端运行的应用程序时,这特别有用
ctrl + q :关闭应用程序窗口
当然用户也可以自己在 keyboard
中自定义各种快捷键。
个人只是将自己可以用的到的命令和方法记录下来,针对于每个具体的点,还有许多可以深入学习的内容,大家可以完全根据自己的喜好去个性化设置。如果你有什么特别有用的技巧或者方法,可以评论留言,相互交流学习。