emacs

做程序员有什么好处

时光总嘲笑我的痴心妄想 提交于 2020-08-15 01:25:35
内容简介 做程序员有什么好处 程序员好处多多 以前从没想过成为一个程序员。就这么一步步走过来了。回头看看也是很有意思。 从小痴迷于生物,尤对动物感兴趣,异宠类更甚。看过很多生物的书籍,图册,尤喜欢《昆虫记》,自己也饲养很多动物。 高中参加生物竞赛班,拿过生物竞赛市级奖项(当然并不算什么)。 高考毕业填报志愿时,原本报了生物工程,结果学院生物工程系对所在省只招收3个名额,自动被分配到信息工程。 曾一度讨厌编程,因为自己不会,没入门,就恐惧,逃避。 后来慢慢摸爬滚打,总算入了编程这个不好入的门。渐渐地,越来越喜欢编程了。 现在以编程为生,以编程自乐。终我一生,始乱终不弃;生命不息,编程不止。 除非有了高科技,可以代替我们编程,但总不忘敲几行代码,遥想一下“公瑾当年,弹指间,程序灰飞烟灭”。 总结一些做程序员的好处,与广大程序员共勉,也给想从事这一行业的小伙伴们以信心。 每 天都是新的开始:怎么说呢,很少有一个行业可以像程序员这样,每天都能学习新的东西。总是和同事聊起,说编程太有意思了,每天工作的内容和上一天都有不 同,每天都能整点新玩意,自己凭兴趣学或者工作需要不得不学。而且现在新的编程语言经常在被发明,新的编程技术在被创造,新的科技又给了程序员无限的进步 空间,什么无人机,物联网,3D打印,虚拟现实,自动化,等等。数风流人物,还看今朝。 历练出耿直,坚韧不拔的品格:曾

Linux下编译运行代码

我的未来我决定 提交于 2020-08-14 05:36:02
因为觉得学 \(Vim\) 有点麻烦,所以就用 \(emacs\) 了。 常用指令: g++ code.cpp -o code -g -Wall 编译你的代码成为可执行文件 ./code 运行你编译出来的可执行文件 ls 列出所在文件夹的所有文件 cd 打开文件夹 这...多简单啊,就这几个命令,比 \(Vim\) 简单多了啊qwq。 恩,没别的了...别的反正你也用不到orz。 食用方法: 首先打开虚拟机中的Linux,我们会看见非常丑的界面 他确实非常丑qaq 。 然后打开你的代码所在的文件夹,右击,然后 在终端中打开 (注意必须在终端中打开,这样可以省去好几步比较麻烦的步骤): 这个时候你的电脑屏幕会这样: 直接输入编译命令即可。其中 code 是你的cpp文件名。这句命令的意思是把你的 code.cpp 文件编译为 code (不带 .exe 后缀)可运行文件。 然后你就会神奇的发现文件夹里多了一个名为 code 程序。 让我们来双击运行一下qwq。这个时候你发现无论你怎么使劲点 就算把鼠标点爆了 他也运行不了。 是不是我们没带 .exe 后缀的问题??其实就算你带了也没用, Linux无法运行 exe 文件 qwq。 啊所以我们需要这样(其中 code 是你编译出来的可执行文件的名字): 然后他就神奇的运行了! 基本操作就没啦qwq! 发现没有,其实最常用的命令就只有 \

Linux 操作系统!开篇!!!

北慕城南 提交于 2020-08-13 16:49:22
此篇文章主要会带你介绍 Linux 操作系统,包括 Linux 本身、Linux 如何使用、以及系统调用和 Linux 是如何工作的。 Linux 简介 UNIX 是一个交互式系统,用于同时处理多进程和多用户同时在线。为什么要说 UNIX,那是因为 Linux 是由 UNIX 发展而来的,UNIX 是由程序员设计,它的主要服务对象也是程序员。Linux 继承了 UNIX 的设计目标。从智能手机到汽车,超级计算机和家用电器,从家用台式机到企业服务器,Linux 操作系统无处不在。 大多数程序员都喜欢让系统尽量简单,优雅并具有一致性。举个例子,从最底层的角度来讲,一个文件应该只是一个字节集合。为了实现顺序存取、随机存取、按键存取、远程存取只能是妨碍你的工作。相同的,如果命令 ls A* 意味着只列出以 A 为开头的所有文件,那么命令 rm A* 应该会移除所有以 A 为开头的文件而不是只删除文件名是 A* 的文件。这个特性也是 最小吃惊原则(principle of least surprise) 最小吃惊原则一半常用于用户界面和软件设计。它的原型是:该功能或者特征应该符合用户的预期,不应该使用户感到惊讶和震惊。 一些有经验的程序员通常希望系统具有较强的功能性和灵活性。设计 Linux 的一个基本目标是每个应用程序只做一件事情并把他做好。所以编译器只负责编译的工作,编译器不会产生列表

如何使Git使用我选择的编辑器进行提交?

寵の児 提交于 2020-08-13 01:48:53
问题: I would prefer to write my commit messages in Vim, but it is opening them in Emacs. 我更愿意在Vim中编写我的提交消息,但是它正在Emacs中打开它们。 How do I configure Git to always use Vim? 如何配置Git始终使用Vim? Note that I want to do this globally, not just for a single project. 请注意,我要全局执行此操作,而不仅仅是针对单个项目。 解决方案: 参考一: https://stackoom.com/question/AtXx/如何使Git使用我选择的编辑器进行提交 参考二: https://oldbug.net/q/AtXx/How-do-I-make-Git-use-the-editor-of-my-choice-for-commits 来源: oschina 链接: https://my.oschina.net/u/3797416/blog/4462961

尝试过把配置放在编程语言代码里吗?比YAML爽

大憨熊 提交于 2020-08-12 04:48:45
本文将试着解释为什么大多数配置格式用起来都不太舒服,作者建议大家尝试使用一门真正的编程语言(例如,像 Python 这样的通用编程语言)来编写配置,通常这是一种可行的选择,且使用过程更感愉悦。 大多数现代配置格式都很糟糕 本节,我主要针对 JSON/YAML/TOML/ini 文件,这是我遇到过最常见的配置格式。 我们暂将这种配置称为常见配置(如果有更好的名字,欢迎在评论中留言,谢谢)。 大家可能遇到过如下情况: JSON 没有注释, 设计如此 大量配置无法重用 例如,虽然 YAML 在理论上支持重用 / 引用配置(他们称之为 锚 ),但有些软件(如 Github Actions )却并不支持。通常,开发者无法重用配置的一部分,必须复制粘贴。 .gitconfig 使用一个 自定义语法 来合并这些配置 不能包含任何逻辑 很多人认为这是一种积极的做法,但我认为,如果不能定义临时变量、辅助函数、替换字符串或连接列表,那就有点差劲。变通方法(如果有的话)通常也不好用,因为它们额外增加了认知开销。于是,出现了一批 重新发明 的编程语言: 变量和字符串插值:Ansible 使用 Jinja 模板 (!) 进行变量操作。 Github Actions 为此使用了 自定义语法 此外,他们有 自己的 一套函数来处理变量。你得为此学习一门从来都未曾想过要学习的新语言。 范围 例如,在 Github

Emacs和Vim之间的差异

岁酱吖の 提交于 2020-08-12 00:35:20
问题: Without getting into a religious argument about why one is better than the other, what are the practical differences between Emacs and Vim? 在没有就为什么一个比另一个更好的宗教争论中,Emacs和Vim之间的 实际 差异是什么? I'm looking to learn one or the other, but I realize the learning curve for each is high and I can't decide. 我正在学习其中一个,但我意识到每个人的学习曲线很高,我无法决定。 I have never used an editor of this type (I've always used IDEs), so anything that helps a newbie is a plus. 我从来没有使用过这种类型的编辑器(我总是使用IDE),所以任何有助于新手的东西都是有利的。 Before a flame war starts: I'm not asking which is better, I'm asking the differences between the two. 在火焰战争开始之前

Linux 系统管理(第一期) 英文注释汇总

半城伤御伤魂 提交于 2020-08-10 16:30:03
Linux 系统管理 ( 第一期 ) 英文注释汇总 第一章 Linux 系统简介及安装 英文单词 解释 kernel 核心 GNU GNU is Not UNIX,GNU 是世界知名的开源软件项目 Open Source Software 开放源代码软件简称开源软件 GPL GNU General Public License,GNU 通用许可协议 LGPL Lesser General Public License,Lesser 通用许可协议 OSD The Open Source Definition, 开源软件的定义 RHEL Red Hat Enterprise Linux, Red Hat Linux 企业版 IDE 接口 硬盘接口 LVM Logic Volume Management, 逻辑卷管理 RAID 廉价磁盘冗余陈列 swap 交换 GRUB Linux 发行版本使用 GRUB 作为启动引导器程序 DHCP Dynamic Host Configure Protocol, 动态主机配置协议 NIC 网络接口卡 License Agreement 用户许可协议 Applications 应用程序 Log out 注销用户 Shut down 关闭系统 Restart the computer 重新启动 第二章 常用命令及帐户管理 英文单词 解释 total 总计

适于初学者的基于终端的文本编辑器 GNU Nano 5.0 版发布

扶醉桌前 提交于 2020-08-09 19:49:27
开源文本编辑器 GNU nano 已经达到了 5.0 版本的里程碑。看看这个新版本带来了哪些功能。 Linux 上有很多 基于终端的文本编辑器 。像 Emacs 和 Vim 这样的编辑器需要经历陡峭的学习曲线和掌握一堆不寻常的键盘快捷键,但公认 GNU nano 更容易使用。 也许这就是为什么 Nano 是 Ubuntu 和许多其他发行版中默认的基于终端的文本编辑器的原因,而即将发布的 Fedora 33 版本 也将把 Nano 设置为终端的默认文本编辑器。 GNU nano 5.0 的新功能 在 GNU nano 5.0 的 变更日志 中提到的一些主要亮点是: -indicator 选项将在屏幕右侧显示一种滚动条,以指示视口在缓冲区中的位置和覆盖范围。 可以用 Alt+Insert 键标记行,你可以用 Alt+Page 和 Alt+PageDown 键跳转到这些标记的行。 执行命令提示符现在可以直接从主菜单中访问。 在支持至少 256 种颜色的终端上,有新的颜色可用。 新的 -bookstyle 模式,任何以空格开头的行都会被认为是一个段落的开始。 用 ^L 刷新屏幕现在在每个菜单中都可以使用。它还会将行与光标居中。 可绑定函数 curpos 已经改名为 location ,长选项 -tempfile 已经改名为 -saveonexit ,短选项 -S 现在是 -softwrap

Linux,Unix,GNU 到底有什么样的渊源?

◇◆丶佛笑我妖孽 提交于 2020-08-05 10:31:12
Linux,Unix, GNU,你可能经常听到这些名字被放在一起,比如 “Linux是类Unix系统”, “Linux其实应该叫 GNU/Linux” 等等。为什么会有这些说法,这些名词的历史渊源和背景到底是什么样的,今天我就来给大家做一个解密。 1 Unix的起源 Unix 操作系统是在1960年代末,由当时就职于美国贝尔实验室的肯·汤普逊(Kenneth Thompson) 和 丹尼斯·里奇(Dennis Ritchie)发明的。这两个人都是计算机领域的传奇。他们除了发明了Unix 系统之外,还一起发明了 B语言和C语言,1983年两人共同获得了图灵奖。 1960年代末,肯·汤普逊和丹尼斯·里奇一起参与了一个项目,由贝尔实验室、麻省理工学院、以及通用电气公司联合开发了一套多使用者分时作业系统,名叫Multics(英文全称:MULTiplexed Information and Computing System)。同时肯·汤普逊自己又写了一个叫“star travel”游戏可执行于Multics之上。后来由于种种原因贝尔实验室撤出了Multics计划。 可能汤普逊为了能够继续玩他的“star travel”游戏。他和丹尼斯·里奇花了一个月的时间用之前他们设计的B语言开发了一套全新的操作系统,并起名叫做 Unics(英文全称:UNiplexed Information and

How to open terminal in current directory?

风格不统一 提交于 2020-08-05 01:28:50
问题 When i use M-x shell to open a new terminal, it will sometimes set the current directory to the file in. But sometimes it won't. So is there a function to always open a new terminal in current directory? 回答1: There's the package shell-here available in ELPA: M-x list-packages , look for shell-here , mark for install ( i ) and execute ( x ). An excerpt of the readme: Open a shell buffer in (or relative to) default-directory, e.g. whatever directory the current buffer is in. If you have find