10个高效Linux技巧及Vim命令对比

写在前面:今天没来得及唱歌~一个多星期没更新了,今天记录下我自己用得比较多的Linux命令行快捷键,小伙伴们别嘲笑我哈~不知道为啥,每次发文就有好几个小伙伴取消关注02e2b65ce1dd7e67f5346ef9a3fd98ee.png离开之前,可以告诉我为什么吗~~

Vim的很多命令和功能与Linux系统的命令和功能及其相似,可以说是一脉相承。特特总结了10条自己常用的Linux下提高效率的小技巧,并与Vim对应命令进行对比。

(1) <Ctrl a>:Linux 命令行下执行该命令,将光标移动到行首 (a 是 ahead 的缩写)

快速移动光标,不仅是在 Vim 下的高优需求,也是 Linux 命令行下的常见工作场景。

例如,在 Linux 命令行下敲完了一长串命令后,如果想在前面先执行一个命令,则可以按组合键 <Ctrl a> 将光标移动到行首,输入想添加的命令。

7c057e1278f30a53018932311599617a.gif

Vim 下也有将光标快速移动到行首的实用命令。在 Vim 普通模式下,使用 0 可以将光标移动到当前光标所在行的行首,使用 ^ 可以在Vim下移动光标到当前行的第一个非空字符。

(2) <Ctrl e>:Linux 命令行下执行该命令,将光标移动到行尾 (e 是 end 的缩写)

既然有将光标快速移动到行首的需求,自然也有将光标快速移动到行尾的需求。与组合键 <Ctrl a> 对应的命令 <Ctrl e> 会将光标移动到行尾,方便继续输入要执行的命令。

de03f86d46352f37cc05fe9fc54182bd.gif

Vim 下也有将光标快速移动到行尾的命令。在 Vim 普通模式下,使用 $ 可以将光标移动到当前行的行尾,而使用 A 命令可以将光标移动到当前行的行尾,并进入插入模式。

(3) <Ctrl r>:Linux 命令行下执行该命令,会进入历史命令查找窗口,输入要查找的命令可快速选择历史命令

个人觉得,<Ctrl r> (r 是 retrieve (检索) 的缩写)命令是一个非常实用的 Linux 技巧。当需要在已经执行过的历史命令中 (即 history 命令的结果) 查找某条命令并再次执行该命令时,可以使用 <Ctrl r> 调出 Linux 历史命令的搜索窗口,并输入要查找的目前命令进行查找并重新执行之。

bd75566c9480fc83dc430dfa345260ec.gif

当然可以通过 history | grep xxx 在已执行的历史命令列表中找到名为 xxx 的命令,然后复制该命令再重复执行之。

毋庸置疑,<Ctrl r> 相比上述的步骤更加高效、便捷。

Vim 里的模糊搜索插件 ctrlp 跟 Linux 终端命令行下执行 <Ctrl r> 的功能非常相似。推荐将 ctrlp 作为你的一个必备 Vim 插件。

(4) <Ctrl w>:Linux 命令行下执行该命令,会删除当前光标附近的一个词 (以空格隔开的字符串)

删除当前光标附近的一个词,这是工作中经常遇到的一个场景。在命令行输入命令时,经常会因为输入失误或改变命令而需要进行删除,使用退格键 (Backspace) 一个个删除字符的效率太低了,如果能一次删除一个单词,将会极大减少按键次数,整体提高Linux使用效率。

60ea0282a9fc1060bf8c6d42dde95b8f.gif

w 表示以一个空格隔开的字符串,这在 Vim 下也是相同的概念。推荐阅读:Vim基于单词移动及Vim单词、字串概念。

(5) <Ctrl u>:Linux 命令行下执行该命令,会删除命令行上已经敲出来的所有文本 (即删除整行)

经常在工作中需要取消已经敲出了一长串的命令。除了可以使用 <Ctrl c> 提前中断本次即将执行的命令外,还可以使用 <Ctrl u> 删除命令行上所有已经输入的字符。

496489f3d4deaf4d14e35d8d2f969e36.gif

个人觉得,<Ctrl u> 的实用性其实不大,毕竟已经有了组合命令 <Ctrl c> 能完成同样的操作,其被大家所熟知。

注:<Ctrl c> 用于中断程序的执行,而 <Ctrl z> 用于暂停程序的执行 (可通过 fg 命令恢复)。

在 Vim 下,可以使用 dd 命令快速删除当前光标所在行。

(6) <Ctrl y>:Linux 命令行下执行该命令,将粘贴 <Ctrl w><Ctrl u> 等命令删除的文本

当删除了 Linux 命令行中已经输入的某些字符后,可以在适当的时机将之再粘贴出来以便再次使用。

7468d37da177528ab6eeac1a6319bafd.gif

熟悉 Vim 基本命令的都知道,y 在 Vim 命令集中是 yank 的缩写,表示 粘贴功能。Vim 下经常使用 yy 命令粘贴被复制的文本。

聪明如斯的你,肯定是记住了 yy 命令,自然也就记住了 <Ctrl y> 命令哦~ (这也是为什么要在本文中将这些 Linux 实用技巧与 Vim 命令进行对比说明的原因)

(7) !xx关键字:Linux 命令行下执行该命令,会执行最近一条包含有 xx关键字 的历史命令

history 命令记录了 Linux 系统最近执行过的历史命令列表。如果需要重复执行最近一条包含有 xx关键字 的命令,可以使用 !xx关键字

! 真是使用 Linux 下的一个操作神器。可以使用它快速执行一条历史命令,既避免了重复的按键输入,又减少了通过翻 “↑” 箭头人肉查找历史命令的工作量。

a5c9def979ab4c8bb085b638ee665e3a.gif

如果包含有 xx关键字 的历史命令有多条,且本次希望执行的目标命令并不是隔当前时间最近的一条,则还可以使用 !行号n 的方式指定执行 history 列表中行号为 n 的命令。

可以看出,! 既可以使用关键字指定要执行的历史命令,也可以通过行号精确指定要执行的历史命令。推荐使用搜索引擎搜索关键字 “linux 惊叹号” 阅读更多相关内容的细节。

Vim 下好像并没有与之功能类似的命令?

(8) cd -:Linux 命令行下执行该命令,会将当前目录切换到上一次所在目录

在 Linux 命令行下进行操作时,经常遇到辛辛苦苦进入到一个很深的目录并执行一些操作后,不小心输入了 cd 命令切换回了当前用户根目录的情况。再次输入完整的深层次目录或通过翻 “↑” 键以便再次进入该目录显然是一个很 “蠢笨” 的方法。

在 Linux 下,假设当前所在目录为 a,通过 cd 某路径 命令切换到了 b 目录后,使用 cd - 命令可快速切换回 a 目录哦。

e44d604930baca45bcb012f1e8af2be6.gif

(9) <Shift Insert>:Linux 命令行下执行该命令,可粘贴复制到系统剪切板上的内容

在 Linux 命令行下,除了可以使用鼠标右键粘贴复制的文本外,还可以使用组合键 <Shift Insert> 完成粘贴操作。

据说,极客型 Linux 玩家可以做到不使用鼠标完成所有的日常工作。<Shift Insert> 进行文本粘贴显然可以减少使用鼠标的频率。在使用 xshell 等远程终端模拟软件时,使用 <Shift Insert> 是不是一个更加高效、便捷的文本粘贴方法呢?

0e69ebb40240e92324b3b5e5e6abb6a7.gif

注:<Ctrl Insert> 用于复制已选中的命令行控制台文本 (不是 <Ctrl c>哦)。

(10) <Ctrl l>:Linux 命令行下执行该命令,可清空当前屏幕

Linux 下可以使用 clear 命令清空整个屏幕,<Ctrl l> 可达到同样的效果。

f39aee786f626d9e6799dd2fe6db8458.gif

Vim 下,zz 命令可用来重绘屏幕并把当前行显示在窗口正中。更多Vim实用技巧,推荐阅读《30个Vim常用命令和使用技巧整理》。

除此之外,还有一些比较不为人熟知的小技巧,例如,连续按3次 Esc 键可显示当前系统支持的所有命令,<Ctrl [ 相当于 Esc 键的功能,<Ctrl i> 等价于 Tab 键的功能等。

更多 Linux 和 Vim 实用技巧,期待你来跟我分享~

7b3766e407b3e39dd110ead189987611.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值