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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


—————END—————

扫码或长按关注

回复「 加群 」进入技术群聊

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468158.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 微信机器人_Python 微信机器人

一、写在前边的话 如何做一个自动回复的微信机器人&#xff1f;机器人的功能有&#xff0c;自动加好友&#xff0c;关键字回复&#xff0c;等等&#xff0c;它甚至可以成为你的私人管家&#xff0c;只要你的代码到位。今天&#xff0c;主要讲解下&#xff0c;微信机器人-图灵版…

linux 控制台存储,技术|使用 Stratis 从命令行管理 Linux 存储

通过从命令行运行它&#xff0c;得到这个易于使用的 Linux 存储工具的主要用途。正如本系列的第一部分和第二部分中所讨论的&#xff0c;Stratis 是一个具有与 ZFS 和 Btrfs 相似功能的卷管理文件系统。在本文中&#xff0c;我们将介绍如何在命令行上使用 Stratis。安装 Strati…

Java_基础—List的三个子类的特点

List的三个子类的特点 ArrayList: 底层数据结构是数组&#xff0c;查询快&#xff0c;增删慢。 线程不安全&#xff0c;效率高。 Vector: 底层数据结构是数组&#xff0c;查询快&#xff0c;增删慢。 线程安全&#xff0c;效率低。 - Vector相对ArrayList查询慢(线程安全…

你想要的江湖,可能不在这时候笑傲

昨天看知识星球看到的一个码农的经历&#xff0c;然后我看了&#xff0c;也回答了&#xff0c;想把回答分享给大家&#xff0c;我觉得这应该是很多人都会遇到的。困扰的问题潜水这么久&#xff0c;有一个问题想问一下&#xff0c;帅张。可能有点啰嗦。就是在一家公司做开发&…

mysql binlog 备份_MySQL的binlog知识梳理

1、binlog概念:binlog是一个二进制格式的文件&#xff0c;用于记录“修改数据或可能引起数据变更”的SQL语句(查询的SQL不会记录)。2、binlog功能:(1)恢复: 利用binlog日志恢复数据库数据。(2)复制: 主从架构通过binlog同步数据。(3)审计: 可以用binlog中的信息进行审计&#x…

关于游戏行业目前的形势

cocos做棋牌特别多 ccc开发周期短&#xff0c;小公司喜欢&#xff0c;做小游戏非常快 游戏也分前端和服务器端 王者荣耀投资大&#xff0c;美术猛 vr现在硬件还没有统一 ccc和node.js可以做前端和服务器 换皮和外包很普遍 转载于:https://www.cnblogs.com/HangZhe/p/7188356.ht…

vep格式用什么播放器linux,vep格式视频用什么播放器打开

VEP是AVS的项目文件&#xff0c;可以在AVS中加载&#xff0c;然后导出成视频格式但追答听题主的描述&#xff0c;这个文件更像一个加密文件&#xff0c;可以试试用录像软件&#xff0c;录制成视频格式追问录制感觉有点麻烦啊&#xff0c;没有简单的直接用普通播放器播放的方法吗…

你需要知道的Linux 系统下外设时钟管理

嵌入式系统一般要求低功耗&#xff0c;出于这个原因&#xff0c;一般只把需要使用到的外设时钟源打开&#xff0c;其他不需要使用到的模块&#xff0c;则默认关闭它们。LCD 模块&#xff0c;上电时候默认情况是关闭的&#xff0c;所以&#xff0c;要想使用 LCD 模块&#xff0c…

千万级大表如何更快速的创建索引_分享一份生产环境mysql数据库大表归档方案,值得收藏...

概述分享下最近做的一个mysql大表归档方案&#xff0c;仅供参考。整体思路一、明确哪些大表需做归档1、数据库表概要信息统计SELECTt1.table_schema,t1.table_name,ENGINE,table_rows,CAST( data_length / 1024.0 / 1024.0 AS DECIMAL ( 10, 2 ) ) data_size(M),CAST( index_le…

Android手机摇一摇的实现SensorEventListener

Android手机摇一摇的实现SensorEventListener 看实例 package com.example.shakeactivity;import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.Se…

linux cas 钥匙生成,gcc linux利用CAS实现无锁编程

利用__sync_bool_compare_and_swap()&#xff0c;实现无锁编程CAS即compare and swap,每次都会和old 值进行比较&#xff0c;如果没有发生更改再用new值给ptr赋值&#xff0c;然后返回true#include #include #include #include #ifdef __GNUC__//#define ATOMIC#define CAS#def…

载波和LoRa

最近lora这个很火&#xff0c;火的原因是因为国家出了一个政策&#xff0c;这个政策呢&#xff0c;有很多人解读了&#xff0c;我身边也有好几个朋友做这方面的&#xff0c;然后我今天找他们聊了下&#xff0c;得到的结果是&#xff0c;这个政策肯定是或多或少对现在的行情和市…

imread函数 matlab_【MATLAB图像处理学习】1.读取和显示图片

CHAPTER2 图像处理的基础函数【使用的教材&#xff1a;冈萨雷斯 数字图像处理MATLAB(Digital image processing with Matlab】【原书图片下载地址&#xff1a;点这里】先介绍三个MATLAB中图片基本操作&#xff1a;imread imshow imwrite2.2读取图片imread(filename)imread是读取…

一场不能只看结果的较量

林书豪的比赛看得真的很舒服&#xff0c;虽然输掉了比赛&#xff0c;但是看到两边不断改变打法&#xff0c;不断试图侵犯对方的夺取分数&#xff0c;就好比看了一场战争电影&#xff0c;过程酣畅淋漓&#xff0c;结果差点令人满意。第一节广东的双后卫给北京制造了非常多的麻烦…

log4js linux,日志管理 log4js

版本&#xff1a;express&#xff1a;"~4.13.4"log4js&#xff1a;"^0.6.38"安装npm install log4js封装 log4js&#xff1a;在项目根目录下新建文件 logger.js&#xff1a;var log4js require(log4js);log4js.configure({appenders: [{type: console // …

嘻哈帝国第一季/全集Empire迅雷下载

英文译名Empire&#xff0c;第1季(2015-01-08)FOX.本季看点&#xff1a;《嘻哈帝国》卢西奥斯莱恩是一名超级音乐明星兼Empire娱乐公司的创始人&#xff0c;故事讲述了他如何在困境和失败中运营公司的故事。拥有庞大帝国的老板得了绝症&#xff0c;于是他决定培养继承人&#x…

cassandra可视化工具_一位数据科学家的私房工具清单

作为一位万人敬仰的数据科学家&#xff0c;不但需要培育一棵参天技能树&#xff0c;私人武器库里没有一票玩得转的大火力工具也是没法在江湖中呼风唤雨的。近日北卡来罗纳大学CTO&#xff0c;一位数据科学家Jefferson Heard分享了多年来收集沉淀的数据分析工具集&#xff1a;处…

Dev C++,一个好玩的猜数字游戏

周末了&#xff0c;看了一点代码&#xff0c;发现有一个好玩的数字游戏&#xff0c;贡献给大家&#xff0c;个人觉得还是挺好玩的。说个题外话&#xff0c;之前写的文章&#xff0c;都是零散的&#xff0c;主要是时间的原因&#xff0c;最近事情有点杂&#xff0c;一说到这个事…

[BZOJ 2500] 幸福的道路

照例先贴题面&#xff08;汪汪汪&#xff09; 2500: 幸福的道路 Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 368 Solved: 145[Submit][Status][Discuss]Description 小T与小L终于决定走在一起,他们不想浪费在一起的每一分每一秒,所以他们决定每天早上一同晨练来享受在一…

c语言如何赋值星期到字母,C语言程序设计课程教案.doc

C语言程序设计课程教案《C语言程序设计》课程教案课题C语言概述课型新授课授课日期课时2教学目的1、了解C语言的特点&#xff1b;2、掌握C简单程序的结构&#xff1b;3、熟练掌握C程序的编辑、编译、链接和运行的过程。教学重点难点教学重点&#xff1a;C语言的特点与编程环境教…