Tag Archives: Linux编程

我的makefile之路-2

继我的

我的makefile之路-1

之后,今天有机会在此基础上在写一篇比较深处的文字。现列出稍微负责的makefile

CC=g++
OUTPUTLIB=./lib
SRCDYNDIR=./dyn
SRCSTCDIR=./stc
_OBJSDYN=add.o sub.o mult.o
OBJSDYN= $(patsubst %, $(SRCDYNDIR)/%, $(_OBJSDYN))
_OBJSSTC=output.o
OBJSSTC= $(patsubst %, $(SRCSTCDIR)/%, $(_OBJSSTC))
DYN = $(OUTPUTLIB)/libdyn.so.1
STC = $(OUTPUTLIB)/libstc.a.1
OBJ = $(DYN) $(STC) main.o $(SRCDYNDIR)/*.o
EXEC = main
CLEANFILE = $(OBJ) $(EXEC)

$(EXEC): $(STC) $(DYN) main.o 
	$(CC)  -o $@ $^ 

main.o: main.cpp
	$(CC) -Wall -c $^

###############################
# dynmic library
##############################
$(SRCDYNDIR)/%.o: $(SRCDYNDIR)/%.cpp 
	$(CC) -Wall -fPIC -c $^ -o $@

$(DYN): $(OBJSDYN)
	$(CC) -shared $^ -o $@

###############################
# static library 
##############################
$(SRCSTCDIR)/%.o: $(SRCSTCDIR)/%.cpp 
	$(CC) -Wall -c $^ -o $@

$(STC): $(OBJSSTC)
	ar rvs $@ $^



.PHONY: clean
clean:
	rm -f $(CLEANFILE) 

继续阅读

将VIM打造成php的开发环境

This isn’t a blog about why you should use Vim. That’s obvious. If it isn’t, read Why
do those nutheads use Vi?
 Instead, this a tutorial about using Vim as a fully-fledged IDE, and specifically for PHP projects. Many Vim users would only use it for dipping in and out of the odd file on their computer, or maybe just on a remote server during
an SSH session. I’m here to tell you that it can be configured to be more efficient and productive than your favourite IDE.

继续阅读

vim中快速的定位函数或者类定义

vim中快速的定位函数或者类定义

请参看:

http://blog.360converter.com/archives/62

在Visual Studio在函数或者类定义之间切换,非常方便。vim也可以做到,只是多了一步骤。

就是使用

ctags

这个在linux上默认是没有安装的,为了测试是否已经安装,你可以在命令行运行这个命令。没有安装的话,安装它

继续阅读

vim使用vimgrep在其他文件中或者文件夹中搜索字符串

请参看:

VIM在文件夹中查找

在vim中提供2中方法来在其他文件或者文件夹中搜索字符串,第一种是vimgrep还有一种是grep。

如果只是在当前打开的文件中查找字符串的,使用

:?

后面加上想要搜索的字符串就可以。

这里要解决的是在别的文件中,也许这个文件还没有打开,或者需要在多个文件中操作,比如在当前文件夹下面所有.c的文件中查找,或者在莫个文件夹中查找。这些情况下,我们可以使用imgrep或者grep。这里只介绍vimgrep。

继续阅读

配置vim

请参考:

Vim的基本配置

如果 ~/目录的下没有 

.vimrc

这个文件。

可以先建一个。

如何知道vim启动的时候加载的是哪一个配置文件呢?启动vim后可以使用如下的命令:

:e $MYVIMRC

然后输入下面的内容:

" 设置自动缩进
set smartindent

" 设置缩进
set tabstop=4

set shiftwidth=4

" 不要用空格代替制表符 
set noexpandtab

" 设置即时搜索
set incsearch
"编码设置
set enc=utf-8 

" 语法高亮
syntax on
“ 显示光标所在的行号和列号
set ruler
" 总是显示状态行 

继续阅读

vim进阶进阶

vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn
Vim Progressively
》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。

继续阅读

简明 Vim 练级攻略

以下文字转自:

http://coolshell.cn/articles/5426.html 

 

vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn
Vim Progressively
》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。

继续阅读

vim编辑多文件

转自:

http://vimcdoc.sourceforge.net/doc/usr_07.html#usr_07.txt

*07.1* 编辑另一个文件

在本章前,你都是为每一个文件启动一次 Vim 的。实际上还有其它办法。如下命令就可 以在 Vim 中打开另一个文件: :edit foo.txt 你可以用任何其它文件名取代上面的 "foo.txt"。Vim 会关闭当前文件并打开另一个。但 如果当前文件被修改过而没有存盘, Vim 会显示错误信息而不会打开这个新文件: E37: No write since last change (use ! to override) (译者注: 在中文状态下显示: E37: 已修改但尚未保存 (可用 ! 强制执行) ) 备注: Vim 在每个错误信息的前面都放了一个错误号。如果你不明白错误信息的意思, 可以从帮助系统中获得更详细的说明。对本例而言: :help E37 出现上面的情况,你有多个解决方案。首先你可以通过如下命令保存当前文件: :write 或者,你可以强制 Vim 放弃当前修改并编辑新的文件。这时应该使用强制修饰符 ! : :edit! foo.txt 如果你想编辑另一个文件,但又不想马上保存当前文件,可以隐藏它: :hide edit foo.txt 原来的文件还在那里,只不过你看不见。这将在 "|22.4|: 缓冲区列表" 中解释。

继续阅读

vim切分窗口

请参看:

VIM切分窗口

转自:

http://vimcdoc.sourceforge.net/doc/usr_08.html#usr_08.txt

*08.1* 分割窗口

打开新窗口最简单的命令如下: :split 这个命令把屏幕分解成两个窗口并把光标置于上面的窗口中: +----------------------------------+ |/* file one.c */ | |~ | |~ | |one.c=============================| |/* file one.c */ | |~ | |one.c=============================| | | +----------------------------------+ 你可以看到显示同一个文件的两个窗口。带 "====" 的行是状态条,用来显示它上面的窗 口的信息。(在实际的屏幕上,状态条用反色显示) 这两个窗口允许你同时显示一个文件的两个部分。例如,你可以让上面的窗口显示变 量定义而下面的窗口显示使用这些变量的代码。 CTRL-W w 命令可以用于在窗口间跳转。如果你在上面的窗口,它会跳转到下面的窗口, 如果你在下面的窗口,它会跳转到上面的窗口。(CTRL-W CTRL-W 可以完成相同的功能这 是为了避免你有时按第二次的时候从 CTRL 键上缩手晚了。) 关 闭 窗 口 以下命令用于关闭窗口: :close 实际上,任何退出编辑的命令都可以关闭窗口,象 ":quit" 和 "ZZ" 等。但 "close" 可 以避免你在剩下一个窗口的时候不小心退出 Vim 了。 关 闭 所 有 其 它 窗 口 如果你已经打开了一整套窗口,但现在只想编辑其中一个,如下命令可以完成这个功能: :only 这个命令关闭除当前窗口外的所有窗口。如果要关闭的窗口中有一个没有存盘,Vim 会显 示一个错误信息,并且那个窗口不会被关闭。

继续阅读