用vim做IDE

在home目录下编辑.vimrc(无则新建)。

 syn on                      "语法支持

"common conf {{             通用配置
set ai                      "自动缩进
set bs=2                    "在insert模式下用退格键删除
set showmatch               "代码匹配
set laststatus=2            "总是显示状态行
set expandtab               "以下三个配置配合使用,设置tab和缩进空格数
set shiftwidth=4
set tabstop=4
set smartindent
set cursorline              "为光标所在行加下划线
set number                  "显示行号
set autoread                "文件在Vim之外修改过,自动重新读入

set ignorecase              "检索时忽略大小写
set fileencodings=uft-8,gbk "使用utf-8或gbk打开文件
set fileencoding=utf-8
set termencoding=utf-8
set encoding=utf-8
set enc=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set hls                     "检索时高亮显示匹配项
set helplang=cn             "帮助系统设置为中文
"set foldmethod=syntax       "代码折叠
"set background=dark
colorscheme darkblue        "配色方案
set clipboard+=unnamed      "共享剪贴板
imap { {}<ESC>i<CR><ESC>V<O
imap ( ()<ESC>i
imap [ []<ESC>i
"}}

"conf for tabs, 为标签页进行的配置,通过ctrl h/l切换标签等
let mapleader = ','
nnoremap <C-l> gt
nnoremap <C-h> gT
nnoremap <leader>t : tabe<CR>

"conf for plugins {{ 插件相关的配置
"状态栏的配置 
"powerline{
set guifont=PowerlineSymbols\ for\ Powerline
set nocompatible
set t_Co=256
let g:Powerline_symbols = 'fancy'
"}

"}}

"ctrl-F5编译且运行
map <C-F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
    exec "w"
    if &filetype == 'c'
        exec "!g++ % -o %<.out"
        exec "! ./%<.out"
    elseif &filetype == 'cpp'
        exec "!g++ % -o %<.out"
        exec "! ./%<.out"
    elseif &filetype == 'java' 
        exec "!javac %" 
        exec "!java %<"
    elseif &filetype == 'sh'
         :!./%
    endif
endfun
map <F5> :call Compile()<CR>
func! Compile()
    exec "w"
    if &filetype == 'c'
        exec "!g++ % -o %<.out"
    elseif &filetype == 'cpp'
        exec "!g++ % -o %<.out"
    elseif &filetype == 'java' 
        exec "!javac %" 
    endif
endfun

注意中间两行imap是设置大中小括号的自动匹配与且完成大括号的缩进

解释一下。

imap是vim配置中的指令,就是做一个映射,语法就是

imap 要映射的东西 被映射成什么东西

按照这种理解,上面的那句就可以理解为:

映射“{”为

{}<ESC>i<CR><ESC>V<O


后面的东西就是vim中依次执行这些操作,一一分解如下:

{} 就是直接插入左右括号

<ESC>   就是按键盘的ESC键,切换到命令行模式

i  按键盘的i键,进入插入模式

<CR> 按回车,此时将右括号换行

<ESC>   就是按键盘的ESC键,切换到命令行模式

V 按住shift+v,就是选中当前行就是右括号所在的行

< 按住shift+,将当前行向左移动一个tab,此时右括号已经和左括号对齐

O 按住shift +o,在当前行(右括号)的前一行插入

其实就是告诉vim如果我们输入{ ,那就接下来做上面一系列操作。

至于 ( 和 [ 则是一个道理了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vim是一个专为程序员开发的文本编辑器,而C/C++是使用最广泛的编程语言之一。将Vim作为C/C++的集成开发环境(IDE),可以带来以下几个方面的效果。 首先,Vim具有丰富的代码编辑功能,包括语法高亮、自动补全、跳转到定义、跳转到引用等功能,这些功能可以提高编码的效率和准确性。 其次,Vim支持多窗口布局和分屏功能,可以同时查看和编辑多个文件或代码块,方便程序员处理复杂的项目结构和代码逻辑。 此外,Vim还支持编译和调试C/C++代码的功能,可以通过配置编译器和调试器,实现代码的编译和调试过程,并提供快捷键和命令来进行断点设置、变量查看和单步调试等操作。 最后,Vim还支持插件扩展和定制,用户可以根据自己的需求选择和安装各种插件,例如代码静态分析、代码格式化、代码重构等插件,以进一步提升开发效率和代码质量。 总之,将Vim作为C/C++的集成开发环境,可以提供丰富的代码编辑功能、多窗口布局和分屏功能、编译和调试功能,以及插件扩展和定制功能,从而帮助程序员更高效地开发C/C++代码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vim C++开发环境插件安装详解](https://blog.csdn.net/littlewhite1989/article/details/39718105)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值