Linux开发工具的使用
1. Linux开发工具的使用
Vim编译的使用
Ibm的Vim 实用技术
http://www.ibm.com/developerworks/cn/linux/l-tip-vim1/index.html
http://www.ibm.com/developerworks/cn/linux/l-tip-vim2/index.html
http://www.ibm.com/developerworks/cn/linux/l-tip-vim3/index.html
l 跳转命令:
^,$ 光标移动至行首、行尾
(,) 一句话的最前面、最后面
{,} 一个段落的最前面、最后面
H 跳到第一行
M 跳到中间一行
L 跳到最后一行
gg 跑到文件开头
G 跑到文件结尾
查找命令
/?查询, s/查找内容/替换内容
编辑命令
复制: y复制选择的内容、yy复制一行、nyy复制n行
剪贴 d
粘贴: p; ]p代码粘贴
删除: d删除选择的内容、dd删除一行、dw删除一个单词
取消: u
更改: cw更改光标所在位置的一个字
删除或称谓剪贴
db 删除到某个单词的开始位置
d) 删除到某个语句的结尾位置
d( 删除到某个语句的开始位置
d} 删除到某个段落的结尾位置
d{ 删除到某个段落的开始位置
D 删除到某一行的结尾=d$
修改
cl 更改当前字符(等于先按x再按i)
cw 修改到某个单词的结尾位置(dw再i)
cb 修改到某个单词的开始位置(db再i)
<< 代码向前移动
>> 代码向后移动
窗口命令
:split/vsplit 分隔一个窗口
:new/vnew 创建一个新的窗口
:sf 文件名 在新窗口中打开filename
:only 关闭除当前窗口外所有窗口
:ctrl-w 可进行切换窗口
:ctrl-w h 到左面的窗口
:ctrl-w l 到右面的窗口
:ctrl-w j 到下面的窗口
:ctrl-w k 到上面的窗口
Gdb调试工具的使用
gdb代码调试参考
Makefile的编写
make的基本介绍[Makefile]
伪目标
make定义变量和使用变量
make预定义变量:
隐含规则和规则模式
make命令行的选项:
-Wall: 输出所有的警告信息。
-O: 在编译时进行优化。
-g: 表示编译debug版本。
gcc filestat.o -o filestat
gcc -c filestat.c
rm -fr *.o *~ *.*~ filestat
cc = gcc // 编译器定义
cflags = -Wall -O -g // 编译条件
$(cc) $(object) -o filestat
$(cc) $(cflag) -c filestat.c -o filestat.o
rm -fr *.o *.*~ *~ filestat
cc = gcc
cflag = -Wall -O -g
TARGET = ./filestat
OBJECTS = $(patsubst %.c,%.o,$(wildcard *.c)) //将当前路径中所有.c文件扩展替换为
patsubst( %.c, %.o, listvar); #表示将listvar中所有以.c为后缀的文件,改为以.o为后缀文件
$(cc) $(cflag) -c $< -o $@ //采用gcc -cflag -c第一个相关联的文件 -o 目标文件
$(cc) $(OBJECTS) -o $(TARGET) //将当前.o文件连接成目标程序文件
chmod a+x $(TARGET)
cd subdir && $(MAKE) // 进入子目录进行make
clean:
rm -fr *.o $(TARGET) *~
======================================================
linux跟踪调试
SSH的使用
subversion的使用
1、将文件checkout到本地目录
例如:svn checkout svn://192.168.1.1/pro/domain #表示将url中的文件checkout到本地
简写:svn co
2、往版本库中添加新的文件
例如:svn add test.php(添加test.php) #将test.php添加到svn上面,其路径是当前目录所在svn路径
3、将改动的文件提交到版本库
svn commit -m "LogMessage"
例如:svn commit -m "add file" test.php #只提交test.php文件
例如:svn ci #提交当前目录所有的文件
4、加锁/解锁
例如:svn lock -m "lock test file" test.php
svn unlock PATH
5、更新到某个版本
例如:
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)
简写:svn up
6、查看文件或者目录状态
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
2)svn status -v path(显示文件和子目录状态)
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
简写:svn st
7、删除文件
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file"
或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种
简写:svn (del, remove, rm)
8、查看日志
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化
9、查看文件详细信息
例如:svn info test.php
10、比较差异
例如:svn diff test.php
svn diff -r m:n path(对版本m和版本n比较差异)
例如:svn diff -r 200:201 test.php
简写:svn di
11、将两个版本之间的差异合并到当前文件
例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)
12、SVN 帮助
svn help ci
——————————————————————————
以上是常用命令,下面写几个不经常用的
——————————————————————————
13、版本库下的文件和目录列表
显示path目录下的所有属于版本库的文件和目录
简写:svn ls
14、创建纳入版本控制下的新目录
svn mkdir: 创建纳入版本控制下的新目录。
用法: 1、mkdir PATH…
2、mkdir URL…
创建版本控制的目录。
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
调度,以待下一次的提交。
2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
在这两个情况下,所有的中间目录都必须事先存在。
15、恢复本地修改
svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:
用法: revert PATH…
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复
被删除的目录
16、代码库URL变更
svn switch (sw): 更新工作副本至不同的URL。
用法: 1、switch URL [PATH]
2、switch –relocate FROM TO [PATH...]
1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
方法。
2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动
(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
这个命令更新工作副本与仓库的对应关系。
17、解决冲突
svn resolved: 移除工作副本的目录或文件的“冲突”状态。
用法: resolved PATH…
注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
相关文件,然后让 PATH 可以再次提交。
18、输出指定文件或URL的内容。
svn cat 目标[@版本]…如果指定了版本,将从指定的版本开始查找。
svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)
Linux开发工具的使用的更多相关文章
- Linux开发工具教程
今天把上个星期写的Linux开发工具相关的教程整理一下,方便阅读: 1.第一课 GCC入门: 2.第二课 GCC入门之静态库以及共享库: 3.第三课 Makefile文件的制作(上) : 4.第四课 ...
- Linux开发工具之Makefile(上)
二.makefile(上) 01.make工具 利用make工具可以自动完成编译工作.这些工作包括:如果修改了某几 个源文件,则只重装新编译这几个源文件:如果某个头文件被修改了,则 重新编译所有包 ...
- 蜂鸟E203系列——Linux开发工具
欲观原文,请君移步 Vivado安装 vivado是运行工程的工具,所以必须安装 后台回复[vivado2017]可获取vivado 2017.4 | 后台回复[vivado2020]可获取vitis ...
- Linux开发工具之gcc
一.gcc入门(上) 1.gcc相关概念 gcc(GNU C Compiler)编译器,最初支持C语言,现已支持C.C++.Java.Pascal.Ada.COBOL语言等:支持多种硬件平台: ...
- Linux开发工具之gdb(下)
三.gdb调试(下) 01.查看运行时数据 print - 查看变量值 ptype - 查看类型 print array - 查看数组 print *array@len - 查看动态内存 print ...
- Linux开发工具之gdb(上)
三.gdb调试(上) 01.gdb:gdb是GNU debugger的缩写,是编程调试工作. 功能: 启动程序,可以按照用户自定义的要求随心所欲的运行程序: 可让被调试的程序在用户所指定的调试 ...
- Linux开发工具之Makefile(下)
二.Makefile(下) 01.make常用内嵌函数 函数调用 $(function arguments) $(wildcard PATTERN) 当前目录下匹配模式的文件 例如:src ...
- Linux开发工具_yum使用
yum 的说明与使用 1.什么是yum? 软件包管理器 提供了查找.安装.删除某一个.一组甚至全部软件的命令 命令简洁好用 2.yum语法 yum [ 选项 ] [命令] [安装包] 选项: -h h ...
- Linux (Ubuntu12.04) 下开发工具安装和使用
Linux (Ubuntu12.04) 下开发工具安装和使用 这里讲述的是关于在ubuntu12.04下面安装和使用各种IDE 开发环境和初步使用的知识.说一下背景:很多的开发基本都是在linux操作 ...
随机推荐
- 如何通过ftell和fseek来获取文件大小
#include <stdio.h> int main () { FILE * pFile=NULL; long size; pFile = fopen ("myfile.txt ...
- Contest - 第10届“新秀杯”ACM程序设计大赛网络资格赛 赛后信息(晋级名单·正式版)
2014_acm_fresh_0057 刘畅 20131620 2014_acm_fresh_0099 汪哲 20132185 2014_acm_fresh_0086 陈顺 2014111776 20 ...
- 红领:挺进高端 青岛财经日报-htmlmainVerName
红领:挺进高端 青岛财经日报-htmlmainVerName 红领:挺进高端
- Javascript 精髓整理篇之二(函数篇)postby:http://zhutty.cnblogs.com
今天总结的内容是javascript的function, 涉及到function顺便讲讲this. Function 是javascript的函数,也是js的执行单元.函数是JavaScript的一种 ...
- (转)Eclipse/Myeclipse 注释注释模板
Window -->preferences --> Java --> Code Style --> Code Templates --> Comments --> ...
- 解决Wamp 开启vhost localhost 提示 403 Forbbiden 的问题!
非常奇怪的一个问题.我曾经从来都没有这样过!訪问 http://localhost/ 提示 403 Forbbiden. 我之前的设置一直都是这种: httpd.conf <Directory ...
- JAVA基础1
阶段0:拟出一个计划 阶段1:要制作什么? 阶段2:如何构建? 阶段3:开始创建 阶段4:校订 阶段5:计划的回报 一.程序运行时,数据保存位置 1.寄存器.这是最快的保存区域,因为它位于和其他所 ...
- GitHub托管BootStrap资源汇总
MESSENGER替换alert()消息和其他用户交互通知. JQUERY.TOCIFY.JS可以用Bootstrap或jQueryUI主题的Jquery表格组件. BOOTSTRAP-PROMPTS ...
- DataTables 配置和使用
WEB后台开发,如果用的是Bootstrap框架,那这个表格神器你一定不要错过. 官方地址:https://datatables.net/ What?英文不好,没关系咱有中文的 http://data ...
- css3选择符使用个人理解。
元素选择符: 通配选择符:一般用* 星号表示 他会命中整体标签. 类型选择符:一般用者空格表示 他会命中标签自己的所有子元素. ID选择符: 一般用# 井号表示 他会命中以id为属性的标签 ...