绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
10个高效Linux技巧及Vim命令对比
2020-01-06 11:57:02

作者:vimtutor 来自:Vim教程网  

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10个高效Linux技巧及Vim命令对比
分享好友

分享这个小栈给你的朋友们,一起进步吧。

技术的”禅修“之路
创建时间:2019-07-22 20:29:48
RHCE,RHCDS,RHCSS,RHCA的禅修之路
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • 孤独的行者
    栈主

小栈成员

查看更多
  • rikinglj
  • 栈栈
  • daxuesheng
  • lilyone
戳我,来吐槽~