zoukankan      html  css  js  c++  java
  • Vim

    参考自:http://www.cnblogs.com/starspace/archive/2009/05/15/1458044.html

    现在的工作是在unix平台,平时是用UE的ftp功能来写代码的,有时候文件大了,传输就很慢,而且经常不是很稳定。
    下定决心要学学Vim(现在应该没有人用原始的vi了吧),在经过二周的使用后,发现Vim实在是非常不错的一个editor,现在我在Windows上也装了一个Vim,使用起来颇为顺手,基本上已经替代了UE。

    下面介绍一些我在使用Vim的过程中得到的一些心得:
    1. 在使用Vim之前一定要进行一些设置,否则你使用起来肯定会很不爽,下面是我的配 1 " ============================================== 2 " General settings

     3  " ==============================================
     4  
     5 set nocp
     6 set ru
     7  "  使用cindent
     8 set cin
     9 set cino = :0g0t0 //0是阿拉伯数字零
    10  
    11 set sm
    12 set ai
    13  "  缩近
    14 set sw=4
    15 set ts=4
    16  "  不展开tab为空格,反之set et
    17 set noet
    18  
    19 set lbr
    20 set hls
    21 set backspace = indent , eol , start
    22 set whichwrap = b , s , < , > , [ , ] //我在linux下输入报错
    23 set fo+ = mB
    24 set selectmode = 
    25 set mousemodel = popup
    26 set keymodel = 
    27 set selection = inclusive
    28 set matchpairs+ = <:>//我输入报错
    29  
    30  " ==============================================
    31  "  Cursor movement
    32  " ==============================================
    //33-50行我都没试出来
    33 nnoremap <Down> gj 34 nnoremap <Up> gk 35 vnoremap <Down> gj 36 vnoremap <Up> gk 37 inoremap <Down> <C-o>gj 38 inoremap <Up> <C-o>gk 39 40 nnoremap <End> g$ 41 nnoremap <Home> g0 42 vnoremap <End> g$ 43 vnoremap <Home> g0 44 inoremap <End> <C-o>g$ 45 inoremap <Home> <C-o>g0 46 47 nmap <C-F4> :confirm bd<CR> 48 vmap <C-F4> <ESC>:confirm bd<Enter> 49 omap <C-F4> <ESC>:confirm bd<Enter> 50 map! <C-F4> <ESC>:confirm bd<Enter> 51 52 " 打开语法高亮 53 syntax on//报错 54 " 使用语法进行折叠 55 set foldmethod=syntax 56 //57-65不理解语义 57 if (has( " gui_running " )) 58 set nowrap 59 set guioptions+=b 60 colo inkpot 61 else 62 set wrap 63 colo ron 64 endif 65 66 " 设置swap文件的目录 67 set dir = D:"vim"tmp 68 " 设置备份文件的目录 69 set backupdir=D:"vim"bak 70 71 " 设置leader的快捷键,原来的“"”太远了,而且位置还不固定 72 let mapleader = " , "

    这里是一些基本设置
    如果有什么不太清楚的,可以在Vim里normal模式下
    :h 关键字 
    查看帮助

    2. Vim教程
    推荐先看看Vim自带的Tutor(这可是位好老师)
    用vimtutor启动Vim
    或者在Vim里面用:h tutor来启动
    中文教程我推荐李果正的《大家来学Vim》
    这里还有Vim的键位示意图,可以打出来随时查看哦

     
    3. Vim的插件
    有几个插件强烈推荐
    (1) A:在同名的cpp和h文件之间切换 http://www.vim.org/scripts/script.php?script_id=31
    (2) NERD_comments:超强的注释插件,支持很多语言的注释风格,按照上面的设置,只需要",cc"就可以添加注释了 http://www.vim.org/scripts/script.php?script_id=1218
    (3) csupport:写C/C++代码必备 http://www.vim.org/scripts/script.php?script_id=213
    (4) LargeFile:再也不用担心打开大文件会慢了 http://www.vim.org/scripts/script.php?script_id=1506
    (5) TipOfTheDay:多读读vim的tips会有很多收获的,记得要经常更新tips文件啊 http://www.vim.org/scripts/script.php?script_id=88
    (6) cppomnicomplete:提供C++中类/对象成员的补全(需要Vim7) http://www.vim.org/scripts/script.php?script_id=1520
    (7) ColorSamplerPack:提供上百种颜色主题,必有一款适合你,不过大多数都是在GUI下才有相应的效果 http://www.vim.org/scripts/script.php?script_id=625
    (8) vimcdoc:汉化的vim帮助 http://vimcdoc.sourceforge.net/

    3. 在telnet中使用vim的颜色
    如果是在linux中使用telnet,SecureCRT会自动使用合适的颜色来显示vim不同的颜色,但是如果在其他unix下就会无法显示正确的颜色,所有的东西都是同一种颜色。

    在.vimrc中加入(^[的输入方式是Ctrl-v然后输入Esc):
    if !has("gui_running")
    set t_Co=8
    set t_Sf=^[[3%p1%dm
    set t_Sb=^[[4%p1%dm
    endif
    并在SecureCRT的模拟终端类型选择ANSI,并钩上ANSI Color,就可以显示不同的颜色了

    4. vim的自动补全功能
    一般使用Ctrl+n就可以自动补全了,从Vim7后,C/C++的函数、变量或者是类的成员,使用Ctrl+x,Ctrl+o也可以自动补全。在安装了cppomnicomplete后,对象的成员也可以用Ctrl+x,Ctrl+o来补全

    5. 代码折叠
    许多editor都支持代码折叠,Vim也不例外
    常用的快捷键
    zc 折叠代码
    zo 打开折叠的代码
    还有其他的快捷键可以查看帮助
    :h fold

    6. 自动格式化代码
    在Visual模式下,选中代码按=就可以了
    Normal模式下,按=会格式化光标所在行

    7. 脚本支持
    Vim不仅有内建的脚本功能,还支持Perl,Python,Tcl,Ruby和MzScheme这些流行的脚本语言编写Vim的扩展

    Vim的功能是不是很强大?
    经过1年多的测试Vim 7.0也release了,还不快下载来试试
    http://www.vim.org

    Happy Vimming!

    对于已经习惯了使用Vim但是要在Windows下编程的用户

    我还推荐
    ViEmu,可以在VisualStudio下模拟Vi的编辑操作
    不过只有30天的试用期

  • 相关阅读:
    Python之坐标轴刻度细化、坐标轴设置、标题图例添加
    探索性数据分析
    http://blog.csdn.net/milton2017/article/details/54406482
    libsvm学习日记--1
    推荐系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)
    python中if __name__ == '__main__': 的解析
    Python类
    TweenMax学习一
    vuejsLearn---通过手脚架快速搭建一个vuejs项目
    vuejsLearn--- -- 怎么查看、修改、追加数据---->data对象
  • 原文地址:https://www.cnblogs.com/X-Do-Better/p/9079277.html
Copyright © 2011-2022 走看看