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天的试用期

  • 相关阅读:
    Building Java Projects with Gradle
    Vert.x简介
    Spring及Spring Boot 国内快速开发框架
    dip vs di vs ioc
    Tools (StExBar vs Cmder)which can switch to command line window on context menu in windows OS
    SSO的定义、原理、组件及应用
    ModSecurity is an open source, cross-platform web application firewall (WAF) module.
    TDD中测试替身学习总结
    Spring事务银行转账示例
    台式机(华硕主板)前面板音频接口(耳机和麦克风)均无声的解决办法
  • 原文地址:https://www.cnblogs.com/X-Do-Better/p/9079277.html
Copyright © 2011-2022 走看看