在emacs实现VIM和textmate的两个特色功能。。。

这些优秀的主流代码编辑器,你用过多少款?——pow_na的博客 还支持代码折叠和宏。智能接口让 BBEdit 具有一流的功能,包括 grep 匹配,搜索和替换多个文件,项目定义的工具,功能导航和众多编程语言的语法高亮,代码折叠,FTP 和 SFTP 打开和保存,AppleScript 以及 Mac OS X 的 Unix 的脚本支持,代码自动补全,还有一个强大的 HTML 工具配套。Notepad++ 有许多理由成为开发者首选的代码编辑器,这个轻量级的代码编辑器是免费开源的,速度很快且占用极少的资源,即便如此,但其功能并不马虎,开发者想要的功能几乎都有了。 阅读详情
不知道你有没有碰到过这样的需要,就是在用两个窗口(在emacs或者vi中的window)编写两个文件时 ,忽然觉得应该把两个窗体的内容(buffer)互换一下,方便查看,这在gvim中,使用Ctrl-w r就可以完成。
---号称无敌的emacs没有这个内置的功能~~

还有一个功能在textmate(macOS和ruby扇子的最爱) 和eclipse的编辑器中有有,就是选定一些文本行,再按alt + up或者alt+down,被选中的文本就会在buffer中逐行穿梭。这在修改程序时相当实用。
---诶,号称无敌的emacs又没有这个内置的功能~~

不过emacs之所以号称无敌就是因为我们可以很轻松实现这两个功能——在emacs lisp中。

(defun circle-windows ()
  "旋转当前frame中的所有windows"
  (interactive)
  (let ((owindow (selected-window))
        (obuffer (current-buffer))
        )
    (while (not (equal owindow (next-window)))
      (set-window-buffer (selected-window) (window-buffer (next-window)))
      (select-window (next-window)))
    (set-window-buffer (selected-window) obuffer)
    (select-window owindow)))

(defun move-region-around (direction beg end)
  (let (real-beg
        real-end
        target-beg
        deactivate-mark
        text)
    (save-excursion
      (goto-char beg)
      (setq real-beg (line-beginning-position))
     
      (when (equal direction 'up)
        (setq target-beg (line-beginning-position 0)))
     
      (goto-char end)
      (setq real-end (line-beginning-position 2))
     
      (when (equal direction 'down)
        (setq target-beg (copy-marker (line-beginning-position 3)))) ;must use marker
     
      (setq text (buffer-substring-no-properties real-beg real-end))
      (delete-region real-beg real-end)
      (goto-char target-beg)
      (insert text)
      )

    (set-mark (+ target-beg (- real-end real-beg 1)))
    (goto-char target-beg)
    (setq transient-mark-mode 'only)))


(defun move-region-up (beg end)
  (interactive "r")
  (move-region-around 'up beg end))

(defun move-region-down (beg end)
  (interactive "r")
  (move-region-around 'down beg end))

(global-set-key (quote [M-up]) (quote move-region-up))
(global-set-key (quote [M-down]) (quote move-region-down))
(global-set-key "/C-c2" 'circle-windows)


注:alt+up/down的使用和textmate是一样的,在区区的办公室PC上,还把alt+left/right也实现了,同事说过于华丽不实用,所以就不贴;
窗体互换的热键是ctrl-c 2,这并不是一个很好的设定,不过ctrl-w是区区用惯的backward-delete-word不能改~
YOLOv8训练流程-原理解析[目标检测理论篇] 本篇文章主要介绍了YOLOv8训练的流程,主要介绍了Task Aligned Assigner正负样本匹配策略以及YOLOv8的损失计算。 阅读详情

相关推荐

松材线虫病害智能检测:基于YOLOv8的无人机航拍数据集构建与模型优化

本文探讨了基于YOLOv8的无人机航拍技术在松材线虫病害智能检测中的应用。通过构建高质量巡检数据集和优化模型架构(如RepVit主干网络和跨尺度特征融合模块),显著提升了病害识别准确率。该方案在复杂森林环境中表现出色,将检测效率提高数倍,为林业病害防控提供了高效解决方案。

vulkan6gpu的博客 994

vi、emacs或者textmate?

vi、emacs或者textmate。

牛儿吃草的博客 903

以太网硬件核心:MAC、PHY、MII与交换机原理与实战排查

计算机网络通信的基础依赖于一套完整的硬件协议栈。在OSI模型中,数据链路层和物理层是实现设备间可靠、高效数据传输的基石。其核心原理在于将上层数据包封装成帧,并通过特定的介质访问控制与物理信号转换机制进行传输。这一过程的技术价值在于为上层应用提供了透明、稳定的通信信道,是互联网和所有局域网通信的物理承载。在嵌入式系统、网络设备开发及运维等应用场景中,深入理解底层硬件交互至关重要。本文将聚焦于以太网硬件的两大核心组件:负责逻辑成帧与流量控制的MAC控制器,以及负责数模转换与链路协商的PHY芯片。它们通过MII、

dgqvhtlwq472235338的博客 421

Solarized在主流编辑器中的集成与应用

Solarized作为一款精心设计的精准配色方案,在主流编辑器中的集成提供了出色的视觉体验和高度可定制性。本文详细探讨了Solarized在Vim、Emacs、IntelliJ IDEA、NetBeans、TextMate、TextWrangler、BBEdit、Visual Studio和Xcode等主流编辑器中的安装配置、高级选项设置以及实用技巧,帮助开发者充分利用这一优秀的色彩方案。 #...

gitblog_00752的博客 1087

【YOLOv12多模态融合改进】(可见光+红外)涉及像素级融合、特征级融合(中期、中后期、后期)、决策级融合的完整配置步骤以及二次改进方案

在网络输入阶段将多模态数据直接合并,形成统一的特征表示。

Limiiiing的博客 1211

3.嵌入式控制器EC学习,源码框架(60/64端口)(一)

服务函数剖析 上一篇讲到while循环会一直查询十六个标志位是否满足要求,一旦其中某个标志位为1时,程序将会执行相应的服务函数,而执行服务函数是通过函数指针(service_table[ _R1 ])();来实现的。接下来我们分别来看看这十六个服务函数分别包含了哪些内容。 16个函数的函数名如下: const FUNCT_PTR_V_V code service_table[16] = { // Hi-Level Service Service_PCI, // Host 6

qq_30135687的博客 4160

火车头伪原创设置【php源码】

那么就让小编一一为你解答吧,相信小编为Mac用户提供的mac系统中都有什么python开发工具好用?Linnux文本编辑器,类似于vi,不过比vi多了一些自己的特性,是相似vi的一类编辑器中最好的一个,也可以说是从vi发展出来的文本编辑器,被程序员广泛使用。TextMate是Mac下的著名文本编辑器软件,非常适合程序员使用呢,有很多贴心的功能,他的特别之处在于开发的速度,一级开发的效率。IDLE是Python开发的基本IDE,即集成开发环境,IDLE是基本的python开发工具,是不错的选择。

wenangou的博客 43

手把手教你学Simulink--基于Simulink的开关磁阻电机电流斩波控制仿真建模

特点:定子和转子均由普通硅钢片叠压而成,没有永磁体或绕组在转子上。工作原理:利用转子旋转时不同位置的磁阻变化产生转矩。控制挑战:由于SRM的高度非线性和磁饱和效应,需要复杂的控制算法来优化性能。利用Simscape Electrical中的模块构建SRM的物理模型,配置参数如电阻、电感等。matlab深色版本% 添加SRM电机模块根据实际需求调整电机参数。通过上述步骤,我们简要介绍了如何基于Simulink进行开关磁阻电机的电流斩波控制仿真建模。

MHD0815的博客 306

Linux开发工具

vim配置 刚开始用的CentOS6.5,配置vim的时候遇到了太多问题,要下载更新好多工具,插件还得手动配置,虚拟机崩溃好几次,最后转战CentOS7,轻松配置好vim CentOS7下Vim简单配置 常见编辑器 Vim Editor Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不...

Tian_Luo_Girl的博客 426

基于pytorch cnn ResNets卷积网络的模糊图像检测 完整代码数据直接运行

基于pytorch cnn ResNets卷积网络的模糊图像检测 完整代码数据直接运行

730

YOLOv11与CLIP融合的零样本目标检测技术:原理、实现与创新实践

YOLO(You Only Look Once)系列作为单阶段检测器的代表,以其实时高效的特性在工业界获得广泛应用。YOLOv11作为该系列的最新演进,引入了多项架构创新: C3K2模块:采用双小卷积核替代传统大卷积核,在保持感受野的同时减少计算量。当参数c3k=False时退化为YOLOv8的C2F模块,提供灵活的精度-效率权衡。 C2PSA(Convolutional block with Parallel Spatial Attention):通过并行空间注意力机制增强对微小目标的特征提取能力,这对

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1068

从小白入门到项目开发,你学要灵学活用这12个前端开发编辑器

在不同的应用场景 需要使用不同的代码编辑器 就像使用浏览器一样 希望童鞋们在学习过程中 在合适的场景下选择合适的前端开发工具 1、SublimeText3 这是一款具有代码高亮、语法提示、自动完成且反应快速的编辑器软件。不仅具有华丽的界面,还支持插件扩展机制,用她来写代码,绝对是一种享受。这款体积轻巧迅速启动的编辑器是Coding和Writing最佳的选择,没有之一。 2、webstorm W...

web前端入门基础进阶教程-htmlcssjs 653

【11】GD32H7xx MPU记录

GD32H7xx系列MPU内存保护单元模块的使用记录

madao1234的博客 873

Linux 关于编译、编辑、调试的一些问题

Linux下的编辑器 Vim Editor Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至...

K_A_Irving的博客 441

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

程序员最喜欢的15款文本编辑器推荐

转载地址:http://www.cr173.com/html/50553_1.html 很多时候比如编程查看代码或者打开各种文档下我们都会用到文本编辑器,Windows自带的记事本功能很简陋并且打开大文件很慢,因此很多童鞋都会有自己喜欢的一款文本编辑器。在这里,西西挑选前15个最佳的文本编辑器,这些编辑器实际上主要适合程序员!如果觉得这些文本编辑器足够您的使用,欢迎点赞,如果还有更好的,

zhukangle的博客 28万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ruby 各种编辑器吐槽(转)

vim 高亮文件种类非常丰富, 键盘操作设计非常爱护手指, 可惜和操作系统的默认文本编辑习惯不一样, 在命令行用不了某些 cmd 键的绑定, 它是模式编辑器, 但模式判定和编辑的文档内容无关, 另外没有自带的 debug 接口也是缺点之一. vimscript 虽然简单但还是三天不用就会忘... emacs 是最早支持 context 和 mode 的编辑器之一, 命令都有对应函数的, 没有 v...

changandaxue的专栏 668

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Linux中常用的5款文本编辑器!

包括DHH在内的Rails核心开发者一直都使用TextMate进行开发,原因就是他们主要都在使用Mac OS系统,并且TextMate具备出色的界面、强大的宏定义,以及可下载和编辑的宏定义包,这些都帮助开发者将编码的效率提升到最高。Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。PNEdit是一个类似于Vi的功能多样、用户可定制的文本编辑器,在vi的基础上改进和增加了很多特性。

oldboyedu1的博客 1288

Solarized版本演进史:从beta1到beta2的关键改进解析

Solarized是一款为多种应用(终端、Vim等)设计的精准配色方案,支持深色/浅色两种模式。本文将深入解析从beta1到beta2版本的重要演进,帮助用户了解这一经典配色方案的发展历程和核心改进。 ## beta1版本:奠定基础的初始发布 2011年4月,Solarized迎来了首个公开版本1.0.0beta1,为后续发展奠定了坚实基础。这一版本包含了多个关键组件: - **设计资源**

gitblog_00562的博客 637

学习总结(一)

对于编程菜鸟级人物来说,很有必要先把最基础的知识学到!今天从jiang老师那里学到了很多,让我这个水货真正认识到自己的不足。没关系,缺什么补什么。。。只要愿意学,没有什么的;只要动手编,没有什么的。纠正好自己的心态! 下面都是关于编程的一些基础名词科普,让你清楚知道具体都有些什么功能。不能再是那种模棱两可,一定要清楚!不然后面的学习会很困难!以下的总结也有很多不全面的,希望大家纠正,共同学习,共同进步!

Star_Mei的专栏 956

用GCC输出带C源代码注释的汇编列表文件

 我们都知道gcc的-S开关可以用来生成汇编代码,但有时候,单有汇编文件是不够的,我们希望的是将C语言程序的源代码和汇编语言文本交错在一起查看,这是LISTING功能,在gcc中并没有专门的FAQ说明,区区在网上查了很多资料才知道怎么实现,所以特此记下。 gcc -c -g -Wa,-adlhn ee.c >  ee.anno.s 由此生成的ee.anno.

Joyer的日志 8980

关于emacs和键盘

大约四年前淘汰自己的神舟学生本后,我就很讨厌使用笔记本了。因为那别扭的小键盘实在没有码字的快感。 我算是一个emacs中毒已深的用户,所以对键盘这个外设有自己的特别要求。 当使用笔记本时,除了外接键盘外,只能使用Caps代替Ctrl才能减少自己的旦腾次数。 重度使用emacs约有五年了,我一直希望像jwz一样把自己的手指用残,同时实现经济自足,开个酒吧之类的。 后来发现jwz是少数

Joyer的日志 8756

让windows的GNU emacs默认shell启动cygwin bash

区区的好友Victor告知说他打算转用cygwin版的emacs了,为了更加方便的集成他开发MTK时的bash环境。 于我这也google了一下cygwin emacs等主题。。结果在这时(http://www.khngai.com/emacs/cygwin.php)找到一些非常用的定制。。  (add-hook eshell-mode-hook   (lamb

Joyer的日志 7292

今天和emacs的ido-mode较劲了

 emacs无疑是最强大的编辑器,最近她又升级到23.2了,内置了强大的cedet。没有不升级一下的道理。 升级后主要是把.emacs中关于cedet加载的配置关掉即可。但是我日常使用的ido-mode居然出现了问题。 因为在做symbian手机应用开发,所以随大流把所有工程放到了C:/Symbian/Source目录当中,并且用emacs修改,用abld编译。fine,一

Joyer的日志 7147

让自己也惊叹的#emacs##gdb#联动,这才是最好的emacs-gdb

由于最近在做比较深入的android ndk开发,又不得不和命令行gdb打交道了——eclipse连gdb太慢了! 我觉得在emacs中用gud来操控ndk-gdb一直不妥。所以退而改用命令行方式。 对于bt(backtrace)命令打出来的call stack,一直都是再次从terminal中copy到emacs中查看的。 这天多花了点心思,想用define命令把这个call stac

Joyer的日志 6644

最近开始认真(I mean serious)用Go语言,并加入42区^_

go和emacs是区区在42区的标签之一。

Joyer的日志 6626

火速配置完成mercurial(Hg)中心版本库,支持push/pull

虽然ssh方法非常完全,却不敏捷。。SCM基本上是只增不减的东西,所以支持push非常重要! 最好懂的方法是用hg serve,不过他不支持push,好吧。。而且默认端口是8000,我们要的是80,因为方便输入。。所以。。最快的办法是在版本库目录输入:echo "[web]" >>.hg/hgrcecho "allow_read = *" >>.hg/hgrcecho

Joyer的日志 6459
上一篇: effective emacs中文版
下一篇: 让Nokia SDK与最近版本的ActivePerl协同工作
JoyerHuang_悦
博客等级 码龄23年 101粉丝 111原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值