vim的配置

目录

配置文件

  1. 在home目录下创建 .vimrc 文件
  2. 然后把下面配置写入
bash 复制代码
" 基础设置
set nu                " 显示行号
set cursorline        " 高亮当前行
set cursorcolumn      " 高亮当前列
set hlsearch          " 高亮搜索结果
set incsearch         " 实时搜索
set laststatus=2      " 总是显示状态栏
set nowrap            " 不自动换行
set wildmenu          " 命令行补全增强
set nocompatible      " 禁用 Vi 兼容模式
set tabstop=4         " Tab 宽度为 4
set shiftwidth=4      " 缩进宽度为 4
set expandtab         " Tab 转空格
set smarttab          " 智能 Tab
set autoindent        " 自动缩进
set smartindent       " 智能缩进
syntax on             " 语法高亮

" 前导键(Leader 键)
let mapleader=";"     " 将 Leader 键设为分号

" 快捷键映射
nmap LB 0             " 跳到行首
nmap LE $             " 跳到行尾
nmap <Leader>q :q<CR> " 关闭当前窗口
nmap <Leader>w :w<CR> " 保存文件
nmap <Leader>Q :qa!<CR> " 强制退出所有窗口

" 窗口切换
nnoremap nw <C-W><C-W>    " 循环切换窗口
nnoremap <Leader>lw <C-W>l " 切换到右侧窗口
nnoremap <Leader>hw <C-W>h " 切换到左侧窗口
nnoremap <Leader>kw <C-W>k " 切换到上方窗口
nnoremap <Leader>jw <C-W>j " 切换到下方窗口

" 自动重新加载配置文件
autocmd BufWritePost $MYVIMRC source $MYVIMRC
" === 鼠标设置 ===
set mouse=a                   " 全模式支持(不会显示注释文字)
" 新建文件自动模板
autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
func SetTitle()
        if &filetype == 'sh'
    call setline(1, "##########################################################################")
    call append(line("."), "# File Name: ".expand("%"))
    call append(line(".")+1, "# Author: zhangxiaowei")
    call append(line(".")+2, "# mail: [email protected]")
    call append(line(".")+3, "# Created Time: ".strftime("%c"))
    call append(line(".")+4, "#########################################################################")
    call append(line(".")+5, "#!/bin/bash")
    call append(line(".")+6, "")
else
    call setline(1, "/*************************************************************************")
    call append(line("."), "    > File Name: ".expand("%"))
    call append(line(".")+1, "    > Author: zhangxiaowei")
    call append(line(".")+2, "    > Mail: [email protected]")
    call append(line(".")+3, "    > Created Time: ".strftime("%c"))
    call append(line(".")+4, " ************************************************************************/")
    call append(line(".")+5, "")
endif
    if &filetype == 'cpp'
                call append(line(".")+8, "")
        endif
        if &filetype == 'c'
                call append(line(".")+7, "")
        endif
        autocmd BufNewFile * normal G
endfunc

功能

  1. 可以鼠标点击后光标跳转到对应的位置
  2. 创建新文件后,自动加注释到开头
  3. 自动缩进等
相关推荐
cyy2983 分钟前
android 记录应用内存
android·linux·运维
言之。31 分钟前
基于 Ubuntu 24.04 部署 WebDAV
linux·运维·ubuntu
前进的程序员2 小时前
ARM 芯片上移植 Ubuntu 操作系统详细步骤
linux·arm开发·ubuntu
程序员JerrySUN2 小时前
驱动开发硬核特训 · Day 30(下篇): 深入解析 lm48100q I2C 音频编解码器驱动模型(基于 i.MX8MP)
linux·驱动开发·架构·音视频
Jtti2 小时前
CentOS服务器中如何解决内存泄漏问题?
linux·服务器·centos
楚灵魈2 小时前
[Linux]从零开始的STM32MP157 Busybox根文件系统构建
linux·arm开发·stm32
Caron_xcb2 小时前
大数据基础——Ubuntu 安装
大数据·linux·ubuntu
南暮思鸢3 小时前
应急响应基础模拟靶机-security2
linux·网络安全·write up·应急响应靶机
码农黛兮_463 小时前
Linux 常用命令集合
linux
迷茫的蜉蝣3 小时前
ev_loop_fork函数
linux·c语言·libev