当前位置: 首页 > news >正文

emacs初体验

在Windows下欢快地使用emacs

使用linux开发环境

linux下无论是下载开发软件、安装库,还是系统的命令都比window要优秀。
因此使用虚拟机xmanager可以体验到2个系统无缝切换的快感。

配置虚拟机

本来安装虚拟机是再简单不过的了,但是要做到无缝就需要一些技巧

  1. 开机启动

    将启动脚本放在C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp目录下

  2. 无窗口启动

    start.vbs:

    CreateObject("WScript.Shell").Run "e:\start_server.bat",0,TRUE

    start_server.bat

    @echo off
    start /d "C:\Program Files\Oracle\VirtualBox" /b VBoxHeadless --startvm "server"

这样就完全看不出在你的window里面还有一个linux。
当然如果微软的黑科技实现的话,这些都不需要了。

linux系统

选什么样的系统当然是凭借个人喜好和掌握程度。
但为了系统流畅性,我推荐大家使用服务器版,本来就是在后台运行嘛。然后自己安装个简单的Xserver。

xmanager:互通的桥梁

linux再好,想在windows系统下使用,最终还是得靠它。
新建一个Xstart,取名emacs。启动时执行:emacsclient -a "" -c
出来的是个图形化的emacs,第一次比较慢,之后就是秒开了。(不要打开2个emacs)
最大的惊喜就是这个emacs和我的window共用粘贴板。
终端使用Xshell,传文件使用Xftp(在Xshell下打开)。
不得不感慨ssh和Xserver的的强大。

emacs征程

这是每个程序员都要面临的问题,是使用vim还是emacs或者其他?
论编辑功能,vim无疑略胜一筹。但是对于我这种打字慢的,只能祈求神赐予我力量。
很多小众语言在emacs都有支持,或许这印证了那句神的编辑器

开始使用

其实咋一看,emacs还是挺好的。有菜单栏,工具栏,状态栏。
我觉得初学者没必要搞那么麻烦,直接当notepad用就好了。[~,~]神器不过如此。
恭喜!你已经掌握了增、删,你已经可以使用emacs了! 本文卒->end.

使用命令面板来辅助记忆

我就不提那些emacs教程的经典老套路了。
首先,我自己也不会~。
其次,这么复杂的按键组合简直丧心病狂、灭绝人性。
我也只是个新手,但是我发现了一个被大家忽视且十分方便的东西。

emacs的功能基本都是通过命令的方式实现的。这也是它强大、可扩展的原因。许多流行的编辑器:Sublime,vscode,atom等都会提供一个命令面板。许多人觉得这很方便、简洁。

而emacs、vim天生就是这么设计的。在emacs中使用M-x(按住alt和x)调出命令行,然后open-file kill-buffer什么的随便了,只要英文好。等熟悉了这些命令以后再 bind-key 世界不就和谐了。当你总结出几十个常用命令打算设置快捷键的时候,一定会想:“如何最快最省?”。那么哈夫曼树来一棵。然后鬼畜一样的组合又多了一个。

虽然这个办法很挫,低效。但是也免去了不少麻烦。作为新手,首先应该学会如何使用,那这无疑是一个好办法。
使用M-x有效地解决了手指不够用的难题,还能辅助学英文一举两得。姑且这么用一段时间吧!

相关文章:

  • RAW+ASM 的RAC 安装文档
  • 7 个 JavaScript “特性”
  • linux 下 ant 安装配置
  • 后台——使用maven时出现Failure to transfer 错误的解决方法
  • 吾爱论坛浏览器分享
  • java 极光推送
  • Plsql连接不上64位oracle数据库问题解决方案
  • 【面试系列】之二:关于js原型
  • 基于nexus的maven私服配置
  • 设计模式之Adapter模式
  • 关于KMP算法理解(快速字符串匹配)
  • uva 10370 Above Average
  • linux下部署tomcat指定JDK版本编译并运行javaWEB应用
  • 个人视频发布汇总——教育改变人生
  • springmvc项目提交post表单参数乱码解决办法
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • co模块的前端实现
  • Laravel Telescope:优雅的应用调试工具
  • MySQL的数据类型
  • React Transition Group -- Transition 组件
  • 使用docker-compose进行多节点部署
  • 写给高年级小学生看的《Bash 指南》
  • 一个SAP顾问在美国的这些年
  • Spring Batch JSON 支持
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​香农与信息论三大定律
  • # include “ “ 和 # include < >两者的区别
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (java)关于Thread的挂起和恢复
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (五)MySQL的备份及恢复
  • (一)Dubbo快速入门、介绍、使用
  • (转)ABI是什么
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • *** 2003
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET实现之(自动更新)
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .php文件都打不开,打不开php文件怎么办
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • /etc/fstab 只读无法修改的解决办法
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • @selector(..)警告提示
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [ CTF ]【天格】战队WriteUp- 2022年第三届“网鼎杯”网络安全大赛(青龙组)
  • [2023-年度总结]凡是过往,皆为序章
  • [BJDCTF 2020]easy_md5
  • [C#]使用PaddleInference图片旋转四种角度检测
  • [daily][archlinux][game] 几个linux下还不错的游戏