zoukankan      html  css  js  c++  java
  • vim IDE 进一步

    王垠有过一个VIM IDE的我介绍,很不错.我自己也做了一个IDE的设置,不得不说VIM是
    十分强大的.

    但是一个问题,我想有一个好的解决方法.那就是执行,与调试

    我本来的方法是启动一个xterm在里面执行.但是这样多出了一个窗口,感觉很不方便.
    调试也是,要再开一个窗口,不方便.

    这两天我在看vim的插件的时候发现了一个好东西.

    Conque shell[http://www.vim.org/scripts/script.php?script_id=2771]

    我们都知道在vim里可以用:! 的方式执行一个shell 命令.但是来回切换是很不方便的
    ,同时一个显示的上的问题不是很好看.

    这个插件的功能是一在buffer里执行一个shell.给人的感觉就是在终端里执行一个
    shell,感觉很好.而且可以用vim的方式进行工作,让我有用gvim取代xterm的冲动(呵呵)

    有了这个插件,我们就可以在一个窗口里进行软件的运行与调试了.呵呵

    下面是我自己的一个小vim script.

    F3进行编译.F5执行并在右边的窗口中输出.F6在右边的窗口里调试(gdb)
    如果已经启动,但是你关闭了这个窗口,也会自动重新开启.

    对了如果用的是zsh,那么显示的一个小问题可以用下面的设置解决.
    在vimrc里加入

    let g:ConqueTerm_TERM= 'vt220'
    ###############################

    map <F3> :update<cr>:silent make<cr>:cw<cr><cr>
    imap <F3> <esc>:update<cr>:silent make<cr>:cw<cr><cr>
    "本函数的功能,启动ConqueTerm,清屏,并在右侧启动一个vsplite窗口.如果是已经启动过
    "但是目前是hidden.就再次打开.
    "back == 1则回到右边的窗口
    function! ConqueTerm_run(shell,command,back)
    if !exists('g:run_term')
    let g:run_term=conque_term#open(a:shell,['belowright vsplit','vertical resize 40'],1)
    endif
    let buf_id=bufnr(g:run_term['buffer_name'])
    if (bufwinnr(buf_id) == -1)
    belowright 40vnew
    exe "buffer ". buf_id
    wincmd h
    endif
    call g:run_term.writeln('clear')
    call g:run_term.writeln(a:command)
    call g:run_term.read(100)
    if a:back == 0
    exe bufwinnr(buf_id).'wincmd w'
    endif

    endfunction
    "map <F5> :!xterm -e "./a.out;sleep 10;"&<cr><cr>
    "map <F6> :!gcc -g2 %<cr>:!xterm -e "gdb a.out"&<cr><cr>
    map <F5> :call ConqueTerm_run('zsh','./a.out',1)<cr>
    map <F6> :call ConqueTerm_run('zsh','gdb a.out',0)<cr>
    "}}}

  • 相关阅读:
    JavaScript的数据类型
    伪元素和伪类的区别是什么?
    伪元素::before和::after的详细介绍
    Ksoap2 获取webservice返回值的getResponse() 出现的问题
    解决dropdownlist postback 在 iphone UIwebview 失效的问题
    javascript雪花效果 注释版
    金山词霸每日一句开放平台 .NET demo
    【摘抄】Application.StartupPath和System.Environment.CurrentDirectory的区别
    EditText 监听回车事件 避免2次触发
    【代码】ini 文件读取工具类
  • 原文地址:https://www.cnblogs.com/fengidri/p/2825364.html
Copyright © 2011-2022 走看看