• 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>
    "}}}

  • 相关阅读:
    appscan的初步使用
    解决selenium自动化上传图片或文件出现windows窗口问题
    写入excel数据报错:ValueError: Cannot convert {'code': 0, 'msg': 'login success!', 'username': 'test',} to Excel
    接口自动化使用session会话解决数据依赖问题
    使用django开发一个简单的post接口
    windows10,解决jmeter5.2.1版本界面字体过小问题
    django配置使用mysql数据库运行报错:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'
    python装饰器
    python闭包
    工作总结
  • 原文地址:https://www.cnblogs.com/fengidri/p/2825364.html
Copyright © 2020-2023  润新知