我的vim配置文件

这篇博客分享了作者的vim配置文件,包括windows和linux两个版本,适用于日常编写小程序。虽然功能基础,但对于初学者或是想优化编辑器设置的用户来说有一定参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为不会用github,所以放在这里,心情不好就来看看。
都是非常基础的功能,写点小程序用。

windows版

syntax on
set backspace=indent,eol,start
set nu si ci ai mouse=a sw=4 sts=4 ts=4
set hlsearch incsearch
colorscheme desert
set guifont=Consolas:h14
set report=0 showmatch cursorline
set guioptions-=m
set guioptions-=T
nmap<F3> : vs %<.in <CR>
nmap<F4> : ! %< < %<.in <CR>
nmap<F5> : ! java %< < %<.in <CR>
nmap<F6> : vs %<.out <CR>
"nmap<F9> : !g++ % -o %< <CR>
"nmap<F10> : ! %< <CR>


nmap w,  :vertical resize -5<CR>
nmap w.  :vertical resize +5<CR>

map <F9> :call InitCompile()<CR>
func! InitCompile()
	exec "w"
	if &filetype == 'c'
		exec "!g++ -std=c++11 -static -m32 % -o %<"
	elseif &filetype == 'cpp'
		exec "!g++ -std=c++11 % -o %<"
	elseif &filetype == 'java' 
		exec "!javac %" 
	endif
endfunc

map <F10> :call CompileRunGcc()<CR>
func! CompileRunGcc()
	if &filetype == 'c'
		exec "! %<"
	elseif &filetype == 'cpp'
		exec "! %<"
	elseif &filetype == 'java' 
		exec "! java %<"
	endif
endfunc

" 语言设置
"gvim内部编码
set encoding=utf-8 
"设置终端编码为gvim内部编码encoding
let &termencoding=&encoding
"当前编辑的文件编码
set fileencoding=utf-8
"gvim打开支持编码的文件
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set langmenu=zh_CN.UTF-8
"解决consle输出乱码
language messages zh_cn.utf-8   
"菜单栏中文
source $VIMRUNTIME/delmenu.vim 
source $VIMRUNTIME/menu.vim

"树形目录开关
map <F12> :NERDTreeMirror<CR> 
map <F12> :NERDTreeToggle<CR>   
let NERDTreeSortOrder=['//$','/.cpp$','/.c$', '/.h$', '*']

"复制粘贴控制 
"vmap <C-c> "+yi 
nmap<C-A> ggvG
vmap<C-C> "*y
vmap <C-x> "+c 
vmap <C-v> c<ESC>"+p 
imap <C-v> <ESC>"+pa 

set cindent
set scrolloff=3 

"按<F2>自动生成代码设置
if !exists("*SetTitlea")
map <F2> :call SetTitlea()<CR>
func SetTitlea()
let l = 0
let l = l + 1 | call setline(l,'#include <cstdio>')
let l = l + 1 | call setline(l,'#include <cstring>')
let l = l + 1 | call setline(l,'#include <iostream>')
let l = l + 1 | call setline(l,'using namespace std;')
let l = l + 1 | call setline(l,'int main()')
let l = l + 1 | call setline(l,'{')
let l = l + 1 | call setline(l,'    return 0;')
let l = l + 1 | call setline(l,'}')
endfunc
endif

linux版



if filereadable(expand("~/.vimrc.bundles"))
  source ~/.vimrc.bundles
endif



set backspace=indent,eol,start
set nu ai ci si sts=4 ts=4 sw=4 mouse=a

nmap<F3> : vs %<.in <CR>
nmap<F4> :call XX() <CR>
func! XX()
    exec "w"
	exec "!time ./%< < %<.in"
endfunc
nmap<F5> : !time java %< < %<.in <CR>
nmap<F6> : vs %<.out <CR>

" nmap<F7> : call RJ() <CR>
func! RJ()
    exec "w"
    exec "!javac %"
endfunc

nmap w,  :vertical resize -5<CR>
nmap w.  :vertical resize +5<CR>



"nmap<F9> : make %< <CR>
map <F9> :call InitCompile()<CR>
func! InitCompile()
    exec "w"
	if &filetype == 'c'
		exec "!gcc % -o %<"
	elseif &filetype == 'cpp'
		exec "!g++ -std=c++11 % -o %<"
	elseif &filetype == 'java' 
		exec "!javac %" 
	elseif &filetype == 'sh'
		:!./%
	endif
endfunc

"nmap<F10> : !./%< <CR>
map <F10> :call CompileRunGcc()<CR>
func! CompileRunGcc()
	exec "w"
	if &filetype == 'c'
		exec "!time ./%<"
	elseif &filetype == 'cpp'
		exec "!time ./%<"
	elseif &filetype == 'java' 
		exec "!time java %<"
	elseif &filetype == 'sh'
		:!./%
	endif
endfunc


"filetype plugin indent on
"set completeopt=longest,menu
"代码补全
":cd /home/kw
" 默认路径

" 树形目录 
nmap <F12> :NERDTreeToggle<cr>


"设置Tab键跟行尾符显示出来  
"set list lcs=tab:>-,trail:-  
"
"let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'

syntax on 
syntax enable
set mouse=a
set mousehide
set backup "undo?
set number
set ruler
colorscheme desert
set backspace=2
" set autoindent "自动缩进
" set smartindent "智能缩进
 set cindent "C系列缩进
 set softtabstop=4 "缩进长度
 set shiftwidth=4 "缩进长度
 set tabstop=4 "tab键长度
" set expandtab "tab设为空格
 set softtabstop=4 "缩进长度
   

vnoremap $1 <esc>`>a)<esc>`<i(<esc>
vnoremap $2 <esc>`>a]<esc>`<i[<esc>
vnoremap $3 <esc>`>a}<esc>`<i{<esc>
vnoremap $$ <esc>`>a"<esc>`<i"<esc>
vnoremap $q <esc>`>a'<esc>`<i'<esc>
vnoremap $e <esc>`>a"<esc>`<i"<esc>
" 括号自动生成



""""""""""""""""""""""""
""实用设置
""""""""""""""""""""""""
"set transparency=10 "透明度
"set lines=55 "窗口多长,下为多宽
"set columns=100
set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离

" 语言设置
"
"gvim内部编码
set encoding=utf-8 
"设置终端编码为gvim内部编码encoding
let &termencoding=&encoding
"当前编辑的文件编码
set fileencoding=utf-8
"gvim打开支持编码的文件
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set langmenu=zh_CN.UTF-8
"解决consle输出乱码
"language messages zh_cn.utf-8   
"菜单栏中文
source $VIMRUNTIME/delmenu.vim 
source $VIMRUNTIME/menu.vim


autocmd BufWritePost $MYVIMRC source $MYVIMRC 
" 让配置变更立即生效

" colorscheme solarized
"配色沙漠 还有: torte, solarized, molokai, phd, ron, evening  等经典配色
" set guifont = Source_Code_Pro:h15
" 设置字体为  字体:大小
"set guifont=Menlo:h15 
"字体和大小
set laststatus=2
" 命令行(在状态行下)的高度,默认为1,这里是2
set wildmenu
" 使回格键(backspace)正常处理indent, eol, start等
let Tlist_Use_Right_Window = 1
"在右侧窗口中显示taglist窗口
 set showmatch
"自动匹配
set wildmenu 
" vim 自身命令行模式智能补全
set nobackup
set noswapfile
"禁止生成临时文件

nmap <Leader>Q :qa!<CR>
" 依次遍历子窗口
nnoremap nw <C-W><C-W>
" 跳转至右方的窗口
nnoremap <Leader>lw <C-W>l
" 跳转至左方的窗口

"复制粘贴控制 
vmap <C-c> "+y
vmap <C-x> "+c 
vmap <C-v> c<ESC>"+p 
imap <C-v> <ESC>"+pa 
nmap <C-A> ggVG


"按<F2>自动生成代码设置
if !exists("*SetTitlea")
map <F2> :call SetTitlea()<CR>
func SetTitlea()
if &filetype == 'c' || &filetype == 'cpp'
    let l = 0
    let l = 1 | call setline(1,'// Last modify : '.strftime('%c'))
    let l = l + 1 | call setline(l,'#include <cstdio>')
    let l = l + 1 | call setline(l,'#include <cstring>')
    let l = l + 1 | call setline(l,'#include <iostream>')
    let l = l + 1 | call setline(l,'using namespace std;')
    let l = l + 1 | call setline(l,'}')
    let l = l + 1 | call setline(l,'')
    let l = l + 1 | call setline(l,'int main()')
    let l = l + 1 | call setline(l,'{')
    let l = l + 1 | call setline(l,'')
    let l = l + 1 | call setline(l,'    return 0;')
    let l = l + 1 | call setline(l,'}')
elseif &filetype == 'java'
    let l = 0
    let l = 1 | call setline(1,'// Last modify : '.strftime('%c'))
    let l = l + 1 | call setline(l,'public class '.expand("%<").expand(" {"))
    let l = l + 1 | call setline(l,'    public static void main(String[] args) {')
    let l = l + 1 | call setline(l,'    }')
    let l = l + 1 | call setline(l,'}')
endif

endfunc
endif

"时间戳
map <F1> :call SaveCompileRun()<CR>
func! SaveCompileRun()
    let l = 1 | call setline(1,'// Last modify : '.strftime('%c'))
    exec "w"

endfunc


" 设置当文件被改动时自动载入
" set autoread

" set backspace=” (Vi compatible)




资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在本文中,我们将探讨如何通过 Vue.js 实现一个带有动画效果的“回到顶部”功能。Vue.js 是一款用于构建用户界面的流行 JavaScript 框架,其组件化和响应式设计让实现这种交互功能变得十分便捷。 首先,我们来分析 HTML 代码。在这个示例中,存在一个 ID 为 back-to-top 的 div 元素,其中包含两个 span 标签,分别显示“回到”和“顶部”文字。该 div 元素绑定了 Vue.js 的 @click 事件处理器 backToTop,用于处理点击事件,同时还绑定了 v-show 指令来控制按钮的显示与隐藏。v-cloak 指令的作用是在 Vue 实例渲染完成之前隐藏该元素,避免出现闪烁现象。 CSS 部分(backTop.css)主要负责样式设计。它首先清除了一些默认的边距和填充,对 html 和 body 进行了全屏布局,并设置了相对定位。.back-to-top 类则定义了“回到顶部”按钮的样式,包括其位置、圆角、阴影、填充以及悬停时背景颜色的变化。此外,与 v-cloak 相关的 CSS 确保在 Vue 实例加载过程中隐藏该元素。每个 .page 类代表一个页面,每个页面的高度设置为 400px,用于模拟多页面的滚动效果。 接下来是 JavaScript 部分(backTop.js)。在这里,我们创建了一个 Vue 实例。实例的 el 属性指定 Vue 将挂载到的 DOM 元素(#back-to-top)。data 对象中包含三个属性:backTopShow 用于控制按钮的显示状态;backTopAllow 用于防止用户快速连续点击;backSeconds 定义了回到顶部所需的时间;showPx 则规定了滚动多少像素后显示“回到顶部”按钮。 在 V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值