VIM常用命令

VIM命令图

VIM键盘布局图

VIM键盘布局英文

VIM键盘布局中文

将VIM配置成IDE(通过 VIM基本插件 和VIM配置文件)

Ubuntu14下我的VIM IDE配置的效果图

图-1:编辑环境

图-2:make编译环境及错误输出Quickfix列表

1、安装Vim和Vim基本插件

首先安装好Vim和Vim的基本插件。这些使用apt-get安装即可:

user@ubuntu$sudo apt-get install vim vim-scripts vim-doc

其中vim-scripts是vim的一些基本插件,包括语法高亮的支持、缩进等等。

vim中文帮助文档tar包下载地址:

http://sourceforge.net/projects/vimcdoc/files/vimcdoc/

解压后其中有个doc文件夹, 将其中的内容全部复制到~/.vim/doc, 或者vim安装目录下的doc目录中, 此时vim中的help信息已经是中文的了.

网页版中文帮助文档网址http://vimcdoc.sourceforge.net/doc/help.html

首页就时vim帮助文档的目录,阅读起来更方便有效、更有针对性!

2、Vim配置文件

Vim强大的功能,其来源基本上就两个地方:Vim插件以及Vim配置文件。

Vim本身的系统配置文件夹是在/usr/share/vim/和/etc/vim/两个文件夹下。一般情况下,我们不会去改变这两个文件夹下的配置文件,而是在用户文件夹/home/user(其中,user为用户名)下建立自己的配置文件。进入用户文件夹(/home/user/)之后,用vim新建一个名叫.vimrc的文件

vimrc 配置文件  http://download.csdn.net/detail/ajian005/8007405

3、ctags安装与配置

ctags可以建立源码树的标签索引(标签就是一个标识符被定义的地方,如函数定义),使程序员在编程时能迅速定位函数、变量、宏定义等位置去查看原形

以下是在ubuntu下ctags的下载安装和配置过程:

下载并安装ctags,终端输入命令

lingd@ubuntu:~/arm$ sudo apt-get install ctags

建立源码索引,比如我经常需要查阅Linux的内核代码,而这些代码放在/home/lingd/arm/linux-2.6.24.7目录下

那么在终端进入到该目录后,输入命令ctags -R *,你会发现多了一个tags文件,这个就是索引文件

4、管理vim插件——vim-addons

通过vim-addons,我们可以管理vim插件。我们在sudo apt-get install vim vim-scripts vim-doc时,一般会自动安装上vim-addons。若未安装可通过sudo apt-get install vim-addon-manager手动安装。安装完成后,就可以用vim-addons管理vim插件了。

# 系统中已有的vim-scripts中包含的插件及其状态:

@ubuntu:~$ vim-addons status

# Name                                 User Status  System Status

align                                        removed       removed

alternate                                 removed       removed

bufexplorer                             removed       removed

calendar                                 removed       removed

closetag                                  removed       removed

colors-sampler-pack            removed       removed

cvsmenu                                 removed       removed

debPlugin                               removed       removed

detectindent                           removed       removed

doxygen-toolkit                      removed       removed

editexisting                             removed       removed

enhanced-commentify         removed       removed

gnupg                                      removed       removed

info                                           removed       removed

justify                                       removed       removed

lbdbq                                       removed       removed

matchit                                    removed       removed

minibufexplorer                     installed       removed

nerd-commenter                   removed       removed

omnicppcomplete                 installed       removed

po                                             removed       removed

project                                     installed       removed

python-indent                        removed       removed

secure-modelines                removed       removed

snippetsEmu                         removed       removed

sokoban                                 removed       removed

supertab                                 removed       removed

surround                                 removed       removed

taglist                                       installed       removed

tetris                                         removed       removed

utl                                             removed       removed

vcscommand                         removed       removed

vimplate                                  removed       removed

whatdomain                           removed       removed

winmanager                           installed       removed

xmledit                                     removed       removed

上面我们介绍了如何独立于系统配置文件之外,建立自己的Vim配置文件。当我们自己下载安装Vim插件的时候,也可以另外建立目录,放置我们自己的插件。这个目录一般为/home/user/.vim,另外还需要建立一个插件子目录,一个插件文档子目录,以上的可以进入/home/user目录下通过下面的命令执行:

@ubuntu:~$ mkdir .vim

@ubuntu:~$ cd .vim

@ubuntu:~/.vim$ mkdir plugin

@ubuntu:~/.vim$ mkdir doc

# vim官方插件的安装,xxxx是要安装的插件名,以status中显示的名称为准。安装插件xxxx时使用以下命令(前提是在目录/home/user/.vim/下建立好了plugin和doc两个文件夹)

vim-addons install xxxx

关于vim-addons命令的详细用法,可以通过“man vim-addons”查看其帮助文档

5、vim自动补全——OmniCppComplete

vim的自动补全功能可通过其插件OmniCppComplete实现。

安装OmniCppComplete

@ubuntu:~$ vim-addons install omnicppcomplete

配置OmniCppComplete

6、提示函数原型echofunc

echofunc可以在命令行中提示当前输入函数的原型。

echofunc下载地址:http://www.vim.org/scripts/script.php?script_id=1735

下载完成后,把echofunc.vim文件放到 ~/.vim/plugin文件夹中

当你在vim插入(insert)模式下紧接着函数名后输入一个"("的时候, 这个函数的声明就会自动显示在命令行中。如果这个函数有多个声明, 则可以通过按键"Alt+-"和"Alt+="向前和向后翻页, 这个两个键可以通过设置g:EchoFuncKeyNext和g:EchoFuncKeyPrev参数来修改。这个插件需要tags文件的支持, 并且在创建tags文件的时候要加选项"--fields=+lS"(OmniCppComplete创建的tag文件也能用), 整个创建tags文件的命令如下:

$ ctags -R --fields=+lS

7、标签浏览器Taglist

Taglist用于列出了当前文件中的所有标签(宏, 全局变量, 函数名等)

安装Taglist

@ubuntu:~$ vim-addons install taglist

8、文件浏览器和缓冲区管理器WinManager

WinManager用于管理文件浏览器和缓冲区(buffer)。2.0以上版本的WinManager还可以管理其他IDE类型插件,不过要用户在插件中增加一些辅助变量和hook来支持WinManager(帮助文档有相关说明)。

Taglist插件本身就提供了对WinManager的支持,不需要我们去修改它。这里,我们就用WinManager来管理文件浏览器netrw和标签浏览器Taglist。netrw是标准的vim插件, 已经随vim一起安装进系统里了, 不需要我们自行下载安装。

安装WinManager

@ubuntu:~$ vim-addons install winmanager

9、buffer管理器MiniBufferExplorer

MiniBufferExplorer用于浏览和管理buffer,如果只打开一个文件,是不会显示在屏幕上的,而打开多个文件之后,会自动出现在屏幕上。vim也有自带的buffer管理工具,不过只有:ls, :bnext, :bdelete 等的命令, 既不好用, 又不直观.

关于vim缓冲区(buffer)和窗口的概念(详见:help windows)

"缓冲区" 是一块内存区域,里面存储着正在编辑的文件。如果没有把缓冲区里的文件存盘,那么原始文件不会被更改。

"窗口" 被用来查看缓冲区里的内容。你可以用多个窗口观察同一个缓冲区,也可以用多个窗口观察不同的缓冲区。

@ubuntu:~$ vim-addons installminibufexplorer

10、代码折叠fold

折叠用于把缓冲区内某一范围内的文本行显示为屏幕上的一行。就像一张纸,要它缩短

些,可以把它折叠起来:

11、项目目录数管理器Project

Project插件是用来显示项目的目录树的,这个目录树是默认保存在~/.vimprojects文件中。

安装Project

@ubuntu:~$vim-addons install project

Project目录树可以通过下面的步骤生成:

1) 打开vim在命令模式下输入 :Project,在屏幕的最左边就会出现一个project框。不过因为没有初始化暂时是空的

2)在命令模式下(不是插入模式)输入\C (大写的C),会出现下面这些信息:

Enter the Name of the Entry: xxxx (输入项目名称)

Enter the Absolute Directory to Load: /xxx/xxx/xxx (输入项目根目录的绝对路径)

Enter the CD parameter: . (“.”为当前目录)或者和项目根目录一致

Enter the File Filter: *.* (符合条件的源文件,可以是*.cpp/*.h等)

PS:项目目录可以嵌套。而且更改之后在~/.vimprojects文件中就能看到内容,你可以手动进行更改。

12、quickfix命令集

通过quickfix命令集,你可在 Vim 内编译程序并直接跳转到出错位置进行修正。你可以接着重新编译并做修正,直到不再出错为止。

13、Cscope

Cscope是一个类似于ctags的工具,不过其功能比ctags强大很多。

安装Cscope

@ubuntu:~$ sudo apt-get install cscope

VIM优缺点:

VIM优点

1 根据设定可以和原始vi完全兼容

2 多缓冲编辑

3 任意个数的分割窗口(横,竖)

4 具备列表和字典功能的脚本语言

5 可以在脚本中调用 Perl, Ruby, Python, Tcl, MzScheme ,C,C++

6 单词缩写功能

7 动态单词补完

8 多次撤销和重做

9 对应400种以上文本文件的语法高亮

10 C/C++, Perl, Java, Ruby, Python 等40种以上语言的自动缩排

11 利用ctags的标签中跳转

12 崩溃后文件恢复

13 光标位置和打开的缓冲状态的保存 复原(session功能)

14 可以对两个文件进行差分,同步功能的diff模式

15 远程文件编辑 。

VIM缺点

1 C语言 debug功能支持的不太好,不如emacs

2 不支持IDE的重构功能, 这个是已经是IDE的核心功能了

3 不能像emacs那样作为一个大而全的集成工具 (邮件、浏览网页、玩游戏),VIM主要还是以编辑器为自己的地盘

4 在Unix/Linux等环境下使用的比较多,在Window 或Mac 图形界面系统中有很多优秀的集成开发环境: VS, Eclipse, IDEA, NetBean... ...

使用VIM中的问题列表:

1 ctags 生成C 和操作系统的*.h文件时,定位不准确的问题?

2 每次打开VIM都要从头开始,不能记住上次VIM使用的位置和布局结构?

3

参考:

vim: http://www.vim.org

vim: http://michael.peopleofhonoronly.com/vim/

VIM实战手册  http://blog.csdn.net/poechant/article/category/1060706

手把手教你把Vim改装成一个IDE编程环境(图文) http://blog.csdn.net/wooin/article/details/1858917

一步步将vim改造成C/C++开发环境(IDE)  (Ubuntu)  http://blog.163.com/023_dns/blog/static/1187273662012125112426472/

程序员的编辑器——VIM http://arch.pconline.com.cn//pcedu/soft/gj/photo/0609/877033.html

拼装的艺术:vim之IDE进化实录 http://blog.csdn.net/yangyang_gnu/article/details/6642271

VIM改造计划  http://x-slam.com/linux/vim

为 Vim 编辑器开发定制插件  http://www.ibm.com/developerworks/cn/aix/library/au-vimplugin/

vim插件管理利器:pathogen  http://blog.csdn.net/zhaoyw2008/article/details/8012757

Chrome神器Vimium快捷键学习记录  http://www.cppblog.com/deercoder/archive/2011/10/22/158886.htmlv

vi/vim使用进阶   http://easwy.com/blog/archives/advanced-vim-skills-catalog/

java vim ide_把VIM配置成IDE开发环境 | 学步园相关推荐

  1. python中的wx_配置 Python的wxWidgets可视开发环境 | 学步园

    注:转载请注明出处 一.下载 Python 2.5.1 这一步是必须做的,下载 Python 语言的 SDK 下载地址(直接复制到迅雷):点击下载 下载完成后安装 Python 2.5.1,注意安装路 ...

  2. java jce配置_配置jce开发环境 | 学步园

    虽然JDK1.4将java安全包包含在核心库中,但如果不对jce进行配置,也没办法使用jce进行开发. 首先从sun网上下载jce1.2.2(我在网上看到的都是下载一个包,没用sun默认的),然后把解 ...

  3. 一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_200 时光荏苒,过隙白驹,即将进入2022年,著名敏捷开发语言Python也放出了3.10最终版,本次我们来展示一下在不同的系统和 ...

  4. Python的IDE:基于Eclipse/MyEclipse软件的PyDev插件配置python的开发环境(不同python项目加载不同版本的python)—从而实现Python编程图文教程之详细攻略

    Python的IDE:基于Eclipse/MyEclipse软件的PyDev插件配置python的开发环境(不同python项目加载不同版本的python)-从而实现Python编程图文教程之详细攻略 ...

  5. Eclipse+CDT+MinGW 配置 C/C++ 开发环境

    Eclipse+CDT+MinGW 配置 C/C++ 开发环境 开场白:谨以此文献给所有喜欢探索和热爱开源软件的朋友们. 1:首先你得有 JAVA运行环境,这样你才可以运行eclipse ,你可以到h ...

  6. yum安装ruby_CentOS 7下配置Ruby语言开发环境的方法教程

    本文跟大家分享的是在CentOS 7下配置Ruby语言开发环境的方法教程,分享出来供大家参考学习,下面来看看详细的介绍: 安装Ruby 2.2 CentOS7存储库中的Ruby版本为2.0,但如果需要 ...

  7. 《安富莱嵌入式周报》第306期:开源独轮车,Cortex-M85修订版r1发布,Terathon图形数学库,不断变革的IDE开发环境,各个厂家总动员

    往期周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - P ...

  8. 怎么在VS Code中配置C/C++开发环境?

    DevWeekly收集整理每周优质开发者内容,包括开源项目.工具资源.技术文章等方面,每周五首发于DevWeekly,欢迎大家Star并收藏! 原文链接:DevWeekly | 第1期:什么是时间复杂 ...

  9. 在Win10系统上使用VScode + Cmake配置C/C++开发环境,实现一键编译运行

    1.前言 前几天在公司的Ubuntu20.04电脑上配置了VSCode + Cmake的C/C++开发环境,可以用来跑跑C/C++的代码,然后,现在住的地方用的Windows,开发环境用的是 Visu ...

最新文章

  1. 诺基亚:IMPACT智能管理平台已安全管理超过15亿部物联网设备
  2. vscode 好用插件
  3. vs code 添加jquery的智能提示
  4. 什么是前端开发中的Pseudo elements
  5. Python入门基础之迭代和列表生成式
  6. opencv4 图像特征匹配_概述 | 全景图像拼接技术全解析
  7. hbuild 编译 php,Hbuilder的PHP环境搭建
  8. OS X 使用技巧——在Finder窗口标题栏上显示路径
  9. 项目文档编制-投标书
  10. [转]Phoenix综述(史上最全Phoenix中文文档)
  11. Matlab画堆叠柱状图(颜色设置,x轴外部标注,y轴标注,颜色设置)
  12. IOS通过加速感应器实现手机实现手机屏幕上的足球可以来回的滚动反弹
  13. 杭电2018复试上机真题
  14. 高盛报告:未来5-10年区块链将被广泛应用【附下载】
  15. Namesilo域名解析详细图文教程!
  16. 递归算法时间复杂度的数学证明过程(主定理)
  17. 机器学习(七)音频可视化第一篇
  18. Windows 11首次重大更新!如何快速升级Win11 22H2?(附四种升级方法)
  19. 1. ABAP RSA签名- SAP调用上上签API(1)
  20. 固原2021年高考成绩查询,固原高考成绩查询入口

热门文章

  1. 一次事故,我对MySQL时间戳存char(10)还是int(10)有了全新的认识
  2. 对话机器人70年:科幻与现实的交融
  3. 分布式数据库拆分常用之法
  4. 国家航天局+华为云:做地球的守护者
  5. 设计模式的C语言应用-责任链模式-第三章
  6. c语言程序可以从任何函数开始执行,C语言-基本选择题及参考答案
  7. mysql mysqli 修改_php mysqli 增删改查操作
  8. markdown、LaTeX输入自定义算符Res
  9. 二分算法模板及oj练习题题解
  10. Neo4j fails creating index,创建索引失败