大话Linux之 跟我走吧,现在就出发[2]Linux我想和你在一起(2)Vim,vim,I love you!有图有真相!
各位看官好:
这回,我们专门将vim这个家伙,说起vim,很多大牛们跟他可谓是最熟悉不过了。他可是仅次于emacs大哥的。vim下最最好用的编辑工具,当然这个看个人爱好。反正我是比较喜欢用,所以呢,今天我们看看vim到底有多强大。
Ubuntu10.04和10.10安装好系统以后,都默认安装了vim,可以用命令:
vi -v查看版本:version 7.2.330
但是当你用vim -v查看版本时,会给出提示需要安装。
证明,虽然可以用vim,但是必须用命令vi而不能用vim,因此按照提示安装:
sudo apt-get install vim
然后等待安装完毕即可。这时候用vim -v查看版本:version 7.2.330
首先创建如下路径,如果没有的话,因为很多插件都是直接解压到下面的目录就是可以使用的:
~/.vim/plugin 很多插件解压以后就有plugin目录,拷贝到这个目录下即可。
~/.vim/doc 这个是存放帮助文件的目录
一.NERD_tree.vim
这是第一个粉墨登场的家伙,这个插件是一个树形控件,可以在左侧看到目录,然后可以双击打开某种文件。
下载地址:http://www.vim.org/scripts/script.php?script_id=1658
安装:(1)从如上地址下载,然后解压。
(2)将plugin目录下的控件拷贝到~/.vim/plugin下。
(3)将doc目录下的帮助文件拷贝到~/.vim/doc下。
使用: (1)用vim打开一个文件。
(2)进入命令行,输入NERDTree命令,即可看到左侧窗口有一个树形目录,选择打开的文件即可。
(3)此控件的其它命令可以查阅帮助文档:NERD_tree.txt。或者在vim命令窗口下打开NERDTree控件后,输入?即可查看帮助。
(4)常用命令如下:
- o 打开关闭文件或者目录
- t 在标签页中打开
- T 在后台标签页中打开
- ! 执行此文件
- p 到上层目录
- P 到根目录
- K 到第一个节点
- J 到最后一个节点
- u 打开上层目录
- m 显示文件系统菜单(添加、删除、移动操作)
- ? 帮助
- q 关闭
二.Taglist
这是一个高效的浏览源码插件,可以在左侧窗口列出当前文件的所有宏,全局变量,函数名等等,值需要双击即可达到相应的定义。
下载地址:
http://www.vim.org/scripts/script.php?script_id=273
安装方法同上,只需要解压出来,将文件放到~/.vim/plugin和~/.vim/doc下即可。
使用:打开命令:TlistOpen,关闭命令:TlistClose其它命令查看手册:help taglist.txt or help taglist。
三.Cscope
是一个类ctags的插件,不过据说功能相当强大,下载地址:
http://cscope.sourceforge.net
安装:
sudo apt-get install cscope
使用其功能必须先为你的代码生成一个cscope的数据库, 在项目的根目录运行下面的命令:
cscope -Rbq
用vim打开源文件,然后用下面的命令将cscope文件导入到vim中,如下:
:cs add /home/xxx/xxx/cscope.out /home/xxx/xxxx
使用:
查找某个函数::cs find XXX()
查找哪些地方调用过某个函数cs find c xxx()
:cw 打开QuickFix窗口
cscope的主要功能是通过同的子命令"find"来实现的
"cscope find"的用法:
cs find c|d|e|f|g|i|s|t name
0 或 s | 查找本 C 符号(可以跳过注释) |
1 或 g | 查找本定义 |
2 或 d | 查找本函数调用的函数 |
3 或 c | 查找调用本函数的函数 |
4 或 t | 查找本字符串 |
6 或 e | 查找本 egrep 模式 |
7 或 f | 查找本文件 |
8 或 i | 查找包含本文件的文件 |
当然,如果每次查找都要输入一长串命令的话还是比较费事的,本来我们用他就是为了省事嘛。 Cscope的帮助手册中推荐了一些快捷键的用法, 下面是其中一组, 可以 将下面的内容添加到~/.vimrc中, 并重启vim:
map <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>c :cs find c <C-R>=expand("<cword>")<CR><CR>
四.QuickFix窗口
这个是现在最新版本vim自带的一个功能,大家可以用help quickfix查看相关用法。
大话Linux之 跟我走吧,现在就出发[2]Linux我想和你在一起(2)Vim,vim,I love you!有图有真相!相关推荐
- 大话Linux之 跟我走吧,现在就出发[0]引子
各位看官,大家好: 小生,这厢有礼了.迫于生计,不得已开始了跟Linux这个洋妞的亲密接触.刚刚开始,对其还不甚了解,又是泊来品,大部分对于她的介绍都是鹰文,偶又不善鸟语,因此只能看翻译成我堂堂中华文 ...
- Linux那些事儿之我是Hub(1)跟我走吧,现在就出发
最早知道hub是在大学里,复旦的4人间宿舍,条件真好,每个人一张书桌,书桌下面一个网口,但是有时候网口坏了,那可急死人了,要知道当初我们买电脑初衷虽说是为了学习C语言,可是买了之后,C倒是没学,先学了 ...
- Linux运维大牛带你认识真正 Linux 系统结构!超强入门技术文!
Linux系统一般有4个主要部分:内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用系统. 1Linux 内核 内核 ...
- 《Linux就该这么学》—非常适合linux技术学习的入门好书
<Linux就该这么学>是一本注重于实用性的Linux系统技术自学书籍,自基础篇公布后网站每天日常阅读量已经超过10000多人,25万多名忠实粉丝读者,是目前国内人气增速最快的IT书籍.您 ...
- linux的网络地址配置,教你如何完成Linux网络地址配置
如果你想了解Linux,了解一些关于Linux的知识.本文为你讲解Linux网络地址配置,希望你能理解Linux网络地址配置,下面就这个问题来详细说说吧. 1.关闭与开启网路端口: 开启81端口: i ...
- linux 存储映射lun 给_如何在 Linux 上扫描/检测新的 LUN 和 SCSI 磁盘 | Linux 中国
导读:当 Linux 系统连接到 SAN(存储区域网络)后,你需要重新扫描 iSCSI 服务以发现新的 LUN.本文字数:3394,阅读时长大约:4分钟https://linux.cn/article ...
- 注意!Linux glibc再曝漏洞,可导致Linux软件劫持
2019独角兽企业重金招聘Python工程师标准>>> glibc是GNU发布的libc库,即c运行库.它是Linux系统中最底层的API,几乎其它运行库都会依赖于glibc. 近日 ...
- linux上安装mysql5.5_【Python】Linux安装Mysql5.5
# 下载Mysql 5.5 https://dev.mysql.com/downloads/mysql/5.5.html#downloads # 版本号.Linux系统 5.5.62版本号,系统Lin ...
- windows pxe 安装linux,菜鸟学Linux 第103篇笔记 pxe自动化安装linux
菜鸟学Linux 第103篇笔记 pxe自动化安装linux 内容总览 linux的系统安装 kickstart文件的组成部分 DHCP (Dynamic Host Configuration Pro ...
最新文章
- OSS正式支持IPv6公测
- 在线生成 CSS3 的工具
- c++调用c#写的DLL
- C和指针之数组之编程练习2
- android pcm调节音量,调整PCM语音数据的音量
- XML解析和创建的JAXB方式
- springboot使用spring-data-jpa完成数据持久化
- 《JavaScript高级程序设计》阅读笔记(十六):javascript检测浏览器和操作系统-detect.js...
- ICC_lab总结——ICC_lab3:布局
- js页面跳转 和 js打开新窗口 方法 【转】
- 通过wifi无法连接手机调试
- 计算机专业毕业论文参考文献(精选115个最新)
- Java面试--Structs
- 基于Pipeline的CI/CD在趣头条的应用实践
- 史上最实用网站集锦----不容错过
- 新版微信文件夹路径FileStorage变成了MsgAttach
- asp dsn mysql 连接失败_Asp透过系统DSN链接mysql数据库
- PCB板-叠层详细介绍
- 163个人邮箱如何注册申请?vip邮箱有哪些优点?
- 蓝牙鼠标链接Win10需要“输入MI MOUSE BT3.0的PIN”的解决方案