25

10个高效Linux技巧及Vim命令对比 | vim教程网

 4 years ago
source link: https://vimjc.com/linux-vim-tricks.html?
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

Vim的很多命令和功能与Linux系统的命令和功能及其相似,可以说是一脉相承。Vim教程网(https://vimjc.com)总结了10条Linux下提高效率的小技巧,并与Vim对应命令进行对比。

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

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

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

linux-vim-tricks

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

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

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

linux-vim-tricks

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

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

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

linux-vim-tricks

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

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

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

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

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

linux-vim-tricks

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

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

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

linux-vim-tricks

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

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

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

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

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

linux-vim-tricks

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

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

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

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

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

linux-vim-tricks

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

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

Vim 下好像并没有与之功能类似的命令?不,幸得好友们提醒,:q 命令可以查看

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

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

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

linux-vim实用技巧

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

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

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

linux-vim实用技巧

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

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

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

linux-vim实用技巧

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

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

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

qrcode.jpg

《女程序员说》

原创不易,希望能给小女子的公众号加个关注~


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK