ubuntu恢复grub

本来是windows XP + Ubuntu 7,可是因为工作,需要把XP改成Windows Server 2003,所以就开始重装系统了.
装完系统,毫无疑问,grub信息被windows给覆盖了,启动系统无法进入linux了.
随便搜索一下网上,便是信息无数.ubuntu的解决办法:
修改BIOS选择从光盘启动系统
插入ubuntu安装盘(livecd),选择第一项:start or install ubuntu,随后启动了一个live版本的ubuntu.
进入ubuntu后,启动Terminal,输入下面命令:
$ sudo grub update
进入grub设置
grub> root (hdX, Y)
grub> setup (hd0)
grub> quit
即完成了grub的重新设置.
其中需要说明的是 root (hdX, Y)中,X代表您的linux所在的硬盘,如果在第一块硬盘则X为0,否则为1,2,依次类推.
Y表示linux所在的分区,这个信息如果不知道,在输入hdX,后按”TAB”键,即会显示所有的分区信息,查看linux分区对应的序号即为Y.同时root以及setup命令后面均有一个空格.
重新启动系统,修改BIOS从银盘启动,是不是看到久违的grub了呢.
可是看到的选项中还是有windows XP的字样,你还是进入linux,自己修改成想要的名字吧.over

erlang mode for emacs 配置

首先要安装erlang,其次要安装emacs。
我们以emacs作为erlang代码的编辑器。其可以提供很好的语法高亮,智能缩进,智能填充等功能。
首先在home目录下配置.emacs文件(如果没有需要创建),使其支持erlang mode
假设您的erlang的安装目录为/usr/lib/erlang,注意配置中涉及的目录,需要与您的安装环境相匹配。
:

;; setup erlang mode
;; add the location of the elisp files to the load-path
(setq load-path (cons “/usr/lib/erlang/lib/tools-2.5.5/emacs”
load-path))
;; set the location of the man page hierarchy
(setq erlang-root-dir “/usr/lib/erlang”)
;; add the home of the erlang binaries to the exec-path
(setq exec-path (cons “/usr/lib/bin” exec-path))
;; load and eval [...]

emacs初次体验

因为开发的原因需要转到linux平台,以前使用vi,但是似乎emacs在某些方面更加强大。
主要是因为写Erlang程序,emacs是推荐的编辑器。
我倒要体验一下无数程序员爱不释手的编辑器,昨天边看emacs的在线帮助,边实践。
现在把昨晚还记得的一些东西记录下来,作为一个复习或者巩固。
emacs中大量使用CTRL和ALT功能键,与vim不同,vim包含多种模式,每个模式下按键具有不同的意义。可以在多个模式下切换。
昨天主要是关于光标的控制。(其中使用C代表CTRL键,M代表ALT键盘。比如C-u表示按住CTRL键,然后按下u字符。)
在Terminal中输入emacs启动emacs
C-v 屏幕向下滚动
M-v 屏幕向上滚动
C-l 重新绘制屏幕,并将光标所在位置定位到屏幕正中。
C-f 向前移动一个字符(forward),与方向键左对应
C-b 向后移动一个字符(backward), 与方向键右对应
C-p 向上移动一行(previous), 与方向键上对应
C-n 向下移动一行(next), 与方向键下对应
在emacs中,C和M作为组合键时代表的意义不同。
C一般表示对一些基本的元素进行操作(如,字符,行等)
而M一般表示对一些具有语义的元素进行操作(如,单词,句子等)
M-f 向前移动一个单词
M-b 向后移动一个单词
C-a 移动到行的起始
C-e 移动到行的结尾(end)
M-a 移动到句的起始
M-e 移动到具的结尾
M-< 移动到文字的起始(<需要按住Shift,否则为,)
M-> 移动到文字的结尾
在emacs中很多键可以通过加入数字来实现重复的操作。
首先输入C-u随后输入数字,然后按下操作即可。
C-u 8 C-n 表示向下移动8行
C-u 8 * 表示输入8个*
对于任何命令,可以输入C-g进行中断取消
C-k 删除内容到行尾,删除的内容被保存起来,您可以使用C-y粘贴(yank),也可以使用M-y选择粘贴某个内容
C-d 删除光标下一个字符
C-BackSpace(后退键) 删除前一个字符
同样, M-d, M-BackSpace删除一个词
C-x C-f打开某个文件
C-x C-b显示所有的当前buffer
C-x b选择打开某个buffer
C-x 1 隐藏其他buffer,只显示当前buffer
C-s 向前搜索,随后在minibuffer中输入您要查找的内容,查找会随着您的输入而进行改变,C-s可以跳到下一个搜索,回车定位到当前位置
C-r 向后搜索
C-x C-c 退出emacs

gdb入门使用

gdb online documentations
http://sourceware.org/gdb/current/onlinedocs/gdb.html#SEC_Top
gdb作为gun的调试工具,用来调试c/c++程序
gdb包括很多的参数及命令,作为使用我们只需掌握几个常用的命令即可,在以后的工作中如果遇到什么问题,
然后参考gdb的在线手册,这样可以节省时间,实践于学习相得益彰。
首先vim或其他方法书写一个测试的程序,本例使用一个最简单的演示代码

/*use_gdb.c - only to learn gdb usages*/
1 #include
2 #include
3 #include
4
5 void some_fun_sub();
6 void [...]

auto make 简单示例(初级)

创建目录 devel:

# mkdir devel
# cd devel

创建源文件 hello.c

# vi hello.c

代码如下:

#include <stdlib.h>
int main(int argc, char * argv[])
{
pirntf(”hello gnu\n”);
return 0;
}

当前目录文件:

#ls
hello.c

运行autoscan

#autoscan
autom4te: configure.ac: no such file or directory
autoscan: /usr/bin/autom4te failed with exit status: 1
#ls
autoscan.log configure.scan hello.c

将configure.scan命名为configure.in(或者configure.ac)

#mv configure.scan configure.in

编辑configure.in文件

#vi configrue.in

内容为:

# [...]

vim 折行

折行的用处:
打开vim的折叠功能,请在~/.vimrc 中加入:set foldmethod=marker ,使用vim默认的折叠标签进行处理。
使用方法如下:
1、加折叠标签
在normal模式下,从键盘输入zf并回车,您就会看到折叠在一起的两行标签如下:
/*{{{ 这里可以写入某个描述*/
…..这里输入您 的程序代码
/*}}}*/
2、输入程序代码后,将代码折叠起来使用如下命令(normal模式):
zc 回车
3、打开折叠的程序有以下几种方法
a、在折叠的行上移动光标
b、在normal模式下输入zo并回车
4、折叠所有
zm 回车,zM 回车(折叠所有,不管层级多深)
5、打开所有折叠
[...]