vim配置

来源:互联网 发布:arm linux gnu gcc 编辑:程序博客网 时间:2024/06/08 08:01
1、安装vim
       sudo apt-get install vim-full

1
、配置文件的位置
    
在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件。

2
、设置语法高亮显示
1) 
打开vimrc,添加以下语句来使得语法高亮显示:
    syntax on
2) 
如果此时语法还是没有高亮显示,那么在/etc目录下的profile文件中添加以下语句:
    export TERM=xterm-color
3
、设置Windows风格的C/C++自动缩进(添加以下set语句到vimrc中)
              1
)不讨论制表符为8还是为4较好,这里设置(软)制表符宽度为4
                            set tabstop=4
                            set softtabstop=4
              2
)设置缩进的空格数为4
                          set shiftwidth=4
              3
)设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置:
set autoindent
              4
)设置使用 C/C++ 语言的自动缩进方式:
                          set cindent
              5
)设置C/C++语言的具体缩进方式(以我的windows风格为例):
                          set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
              6
)如果想在左侧显示文本的行号,可以用以下语句:
                          set nu
              7
)最后,如果没有下列语句,就加上吧:
if &term=="xterm"
    set t_Co=8
    set t_Sb=^[[4%dm
    set t_Sf=^[[3%dm
endif

PS

自动缩进有两个选项
代码:
    
set autoindent 
    set cindent

   
autoindent 
就是自动缩进的意思,当你在输入状态用回车键插入一个新行,或者在 normal 状态用 o 或者插入一个新行时,autoindent 会自动地将当前行的缩进拷贝到新行,也就是"自动对齐,当然了,如果你在新行没有输入任何字符,那么这个缩进将自动删除。 

cindent 就不同了,它会按照 C 语言的语法,自动地调整缩进的长度,比如,当你输入了半条语句然后回车时,缩进会自动增加一个 TABSTOP 值,当你键入了一个右花括号时,会自动减少一个 TABSTOP 值。

 
Vim 自动补全功能

相信用过 Visual Studio 的人特别喜欢自动补全的功能。但是我不知道是否每个用 vim 的人都知道如何使用它。其实很简单,Ctrl+N 就可以了。它会根据你已经输入的 几个字符在上下文中寻找匹配,还能在同时打开的多个 VIM view 中查找,另外还能查找已经设置好的一些头文件。。

如果你用的是 vim7,在字符界面下,也能出现下拉框。。。。非常稳定,也非常好用。。

vim有万能补全<c+x><c+o>,函数名和类名都没有问题

宏定义也有<c+x><c+d>补全

类变量补全也有插件,还有一些别的插件比如

EnhancedCommentify 当前行或者多行可视模式下的注释/反注释 \x
SuperTab 在插入状态使用TAB键补全,现在被自己定义的F8代替了 <TAB>
taglist 函数和变量定义的窗口,并可以双击跳转 :TlistToggle绑定到F4
tabbar 用标签窗口形式,显示打开的文件 Alt-1,2切换
AutoExplorer help里面剔出的快速浏览函数和变量的定义
bufexplorer 浏览打开的缓冲文件 \be \bv \bs
mark 不同颜色标记当前词,支持多次高亮标记 \m

总之,只要你愿意配置vim可以非常强大

but,不要迷信vim。用什么工具,取决于你的工程应用。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

vim 对gtk API 函数自动补全

Gtk的API有很多,如何在使用时让VIM自动补全呢?
其实VIM已经有此功能了,这就是VIM的自动补全功能。包括ctrl-N,ctrl-P以及Ommi 补全功能。
当然了,还有对包含的头文件的自动搜索。但是编写gtk程序有一点不方便的是,它包的是gtk.h
,而gtk.h中是一大堆的*.h文件,显然是不可能在gtk.h中找到什么有用的东西的。
是不是有别的什么办法呢?

linux的使用在于小巧组合,vim配合ctags即可完成此任务。步骤如下:
1.首先进入/usr/include/gtk-2.0/gtk目录,下面有很多头文件,我们要在此目录下生成一个tags文件供使用。
2.执行ctags -R
3.将生成的tags文件copy到你的工作目录,即你写程序的地方。
4.再执行ctags -a  //将你写的程序的函数appended 到此文件上。

OK,大功告成。这下你写程序时,即可ctrl-N/P来自动补全gtk的API了。
不过使用时列表中的函数是有点多了,选择起来反而有点麻烦,但总比没有要好。

[转] Vim 自动补全功能 - rick - 来自森林,去向大海.


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

(vi) vim 中 php 函数关键字自动补全(小小技巧)

如题,咱们就可以开始了,vim号称是万年编辑器,如果没有它的好是得不到这个称号的。现在面对网络开发,php相对流行,不断得到认可,估摸着也学了两 把,可是有的时候还是函数有点多,再加上扩展函数,没招,咱们得找个方法一步搞定。我是用vim出生的,所以就拿它来想办法了。也好,有个插件叫superTab,这家伙牛啊,用我们的tab键就搞定了自动补全,本来vim也是支持自动补全的,用的键是<c-p>(ctrl+p),在编写代码的过程当中,我们很容易发现,如果你的文件(指得是php文件)有include, include_once, require, require_once 这 些包含的文件中如果有你要的函数,你用vim自动补全时,vim是可以找到的,还有当前文件中有的字串都可以找到。这样我们就想了,如果我们有个文件,包 含全部的php函数,然后在编辑过程中让vim扫一遍,这样其不是就可以达到目的了。哈哈,估摸着也是这个原理,今天在网上不意间发现这么一段:
PHP 的函数列表文件, http://cvs.php.net/viewvc.cgi/phpdoc/funclist.txt(就是这个地方有我们所要的所有函数)现在呢,我们得让vim去找呀,这个找也得需要告诉vim这个文件放在什么地方,我把它放在了~/.vim目录下,~ 这个就是你自己的用户目录,比如 /home/test 。现在我们在.vimrc(~/.vimrc )中这么写:set dictionary-=~/.vim/funclist.txt dictionary+=~/.vim/funclist.txtset complete-=k complete +=k~OK!完工。
说明(对于Ubuntu用户):
1.安装vim, $sudo apt-get install vim2.安装gvim, $sudo apt-get install vim-gtk3.在当前用户目录下建文件夹, $mkdir .vim4.在.vim文件夹下面建如是几个文件夹, .vim$mkdir colors .vim$mkdir plugin  .vim$mkdir syntax5.下载所要的插件suptab.vim(http://www.vim.org/scripts/script.php?script_id=1643) 放在文件夹plugin下6.建文件.vimrc $gvim .vimrc7.下载php函数文件,放入.vim文件夹下(http://cvs.php.net/viewvc.cgi/phpdoc/funclist.txt)8.在.vimrc 文件中加入上面的两句set……
哈哈,就这么着完成了……,good luck!

--------------------------------------------------------------

关于vim的recording

我经常会不小心地只按下“q”键什么的,然后就看到的烦人的“recording”字样显示在

编辑器下边了。有时候在想退出编辑器时,出现这样的情况让我发疯。

今天终于有空来研究一下个这“recording”到底是干什么的了。。。 
原来它是用来记录按键的,然后我们就可以在以后用这个记录了。

如何用? 
在正常状态(正常状态 = !insert状态 && !visual状态)下,按q,再按下一个字母或数

字,来标识将记录保存的位置。这时编辑器下边就显示“recording”了,再按一下q(在

正常状态下)就完成记录了。

综上所述 - 
qx -> 开始键盘记录(在x缓存中)。(在正常状态) 
要记录的“工作” 
q -> 结束记录。(在正常状态)

例子 - 
要想往文件开头加“”,往文件结尾加“”,就可以像这样

执行:

qm1G0iG$aq

说明 - 
qm    -> 开始记录(存入缓存m中) 
1G    -> 到文件的第一行 
0i -> 在第一行的开始处插入“”,再按返回正常

状态。 
G$    -> 到文件的最后一行的最后一列 
a -> 在文件最后添加“”,再按返回正常状态

。 
q    -> 结束对键盘的记录

问题:怎么使用这些键盘敲击记录? 
答:使用@符号加上对应缓存的名字(在正常状态)。例如,想要使用上面的记录,我们就

直接在正常状态下输入@m就可以了。 
--------------------- 
有时候在vim下边会出来另一个窗口,因为在我想退出编辑器时把“:q”敲成了“q:”。号

称这个就是vim的命令历史窗口。要退出这个窗口也很简单,直接按回车或者输入“:q”都

可以。

特别注意: 
vim的记录功能不是智能的。在记录时,它会记录你的所有操作(包括误操作);在执行时

也会执行你所有的操作(包括误操作),所有在记录时,你应该让你的按键动作更“智能

化”。

如果还有疑问:那就看下面: 
:help q 
:help q:


-----------------------------------------------------------------

本篇文章主要教你如何使用 Vim 分屏功能

 


分屏启动Vim

  1. 使用小写的o参数来上下分屏(横向分屏)。
    vim -on file1 file2 ...
  2. 使用大写的O参数来左右分屏(纵向分屏)。
    vim -On file1 file2 ...

注释: n是数字,表示分成几个屏。


关闭分屏 

  1. 关闭当前窗口。
    Ctrl+W c
  2. 关闭当前窗口,如果只剩最后一个了,则退出Vim。
    Ctrl+W q
  3. 把光标移到下一个的屏中
    Ctrl+W w


分屏

  1. 上下分割当前打开的文件。
    Ctrl+W s
  2. 上下分割,并打开一个新的文件。
    :sp filename
  3. 左右分割当前打开的文件。 
    Ctrl+W v
  4. 左右分割,并打开一个新的文件。
    :vsp filename


移动光标

Vi中的光标键是h, j, k, l,要在各个屏间切换,只需要先按一下Ctrl+W

  1. 把光标移到右边的屏。
    Ctrl+W l
  2. 把光标移到左边的屏中。
    Ctrl+W h
  3. 把光标移到上边的屏中。
    Ctrl+W k
  4. 把光标移到下边的屏中。
    Ctrl+W j
  5. 把光标移到下一个的屏中。.
    Ctrl+W w


移动分屏

这个功能还是使用了Vim的光标键,只不过都是大写。当然了,如果你的分屏很乱很复杂的话,这个功能可能会出现一些非常奇怪的症状。

  1. 向右移动。
    Ctrl+W L
  2. 向左移动 
    Ctrl+W H
  3. 向上移动 
    Ctrl+W K
  4. 向下移动 
    Ctrl+W J


屏幕尺寸

下面是改变尺寸的一些操作,主要是高度,对于宽度你可以使用Ctrl+W <或是>,但这可能需要最新的版本才支持。

  1. 让所有的屏都有一样的高度。
    Ctrl+W =
  2. 增加高度。
    Ctrl+W +
  3. 减少高度。
    Ctrl+W -

注: 可以直接通过鼠标拖动宽、高,也许还有其它我不知道的,欢迎你补充。


0 0