首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

Vim 通用配置指南:Ubuntu/RedHat 下自動文件頭與一鍵編譯運行 C/C++/Java

     編輯:關於C++

配置文件位置

系統命令路徑
RedHat/CentOSvim /etc/vimrc全局配置 (需 root)
Ubuntu/Debiansudo vim /etc/vim/vimrc全局配置
用戶級 (通用)vim ~/.vimrc推薦,無需 root

基礎編輯增強配置

" 基礎設置
set nocompatible          " 不兼容 vi 模式
set number                " 顯示行號
set cursorline            " 高亮當前行
set tabstop=4             " Tab 寬度 4 空格
set shiftwidth=4          " 縮進寬度
set expandtab             " Tab 轉空格
set autoindent            " 自動縮進
set smartindent           " 智能縮進
set hlsearch              " 高亮搜索
set incsearch             " 增量搜索
set ignorecase            " 搜索忽略大小寫
set smartcase             " 含大寫則區分大小寫
set wrap                  " 自動換行
set fileencodings=utf-8,gbk " 文件編碼自動識別
syntax on                 " 語法高亮
filetype plugin indent on " 文件類型檢測與縮進
基礎配置截圖

自動添加文件頭模板

根據文件類型自動插入版權、作者、時間等信息。

" 文件頭模板
autocmd BufNewFile *.cpp,*.h,*.c,*.java exec ":call SetTitle()"
func SetTitle()
    if &filetype == 'cpp' || &filetype == 'c' || &filetype == 'h'
        call setline(1, "/*************************************************************************")
        call append(line("."), "	> File Name: ".expand("%"))
        call append(line(".")+1, "	> Author: YourName")
        call append(line(".")+2, "	> Mail: your@email.com")
        call append(line(".")+3, "	> Created Time: ".strftime("%Y-%m-%d %H:%M:%S"))
        call append(line(".")+4, " ************************************************************************/")
        call append(line(".")+5, "")
    elseif &filetype == 'java'
        call setline(1, "/**")
        call append(line("."), " * @author YourName")
        call append(line(".")+1, " * @date ".strftime("%Y-%m-%d"))
        call append(line(".")+2, " */")
        call append(line(".")+3, "")
    endif
endfunc
文件頭配置截圖

效果:新建 test.cpp 時自動生成帶時間戳的文件頭。

自動文件頭效果

一鍵編譯運行 (F4 鍵綁定)

" F4 編譯運行映射
map  :call CompileRun()
func! CompileRun()
    exec "w"  " 先保存
    if &filetype == 'c'
        exec "!gcc % -o %< && ./%<"
    elseif &filetype == 'cpp'
        exec "!g++ % -o %< -std=c++11 && ./%<"
    elseif &filetype == 'java'
        exec "!javac % && java %<"
    elseif &filetype == 'py'
        exec "!python3 %"
    elseif &filetype == 'sh'
        exec "!bash %"
    endif
endfunc
F4綁定配置截圖

運行效果演示

F4編譯運行效果

按 F4 即可自動保存、編譯、運行,並在 Vim 底部顯示輸出,按 Enter 返回編輯。

進階推薦配置 (可選)

" 瀏覽器風格標籤頁
set showtabline=2
nnoremap  :tabnew
nnoremap  :tabclose

" 快速移動
nnoremap  h
nnoremap  j
nnoremap  k
nnoremap  l

" 取消高亮
nnoremap   :nohlsearch

" 保存時自動格式化 (需安裝 clang-format/astyle)
" autocmd BufWritePre *.cpp,*.h,*.c,*.java :!clang-format -i %

配置生效方式

  1. 編輯對應的 vimrc 文件。
  2. 保存並重新打開 Vim,或輸入 :source % 重新加載。
  3. 新建文件測試文件頭,寫代碼按 F4 測試編譯運行。

常見問題

  • 權限不足:用戶級 ~/.vimrc 避免 root 權限問題。
  • 編譯器不存在:確保安裝 gcc/g++/javac/java 並在 PATH 中。
  • 中文亂碼:設置 set encoding=utf-8,終端編碼需一致。
  • Java 類名不匹配:Java 要求文件名與 public 類名一致,腳本用 %< (不含擴展名文件名) 運行。

這套配置輕量、通用、無插件依賴,適合大多數 Linux 開發場景,顯著提升編碼效率。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved