.vimrc配置文件

set history=200000
set autoindent
set smarttab
set paste
set nocompatible " 关闭 vi 兼容模式
syntax on " 自动语法高亮
set number " 显示行号
set ruler " 打开状态栏标尺
set shiftwidth=4 " 设定 << 和 >> 命令移动时的宽度为 4
set softtabstop=4 " 使得按退格键时可以一次删掉 4 个空格
set tabstop=4 " 设定 tab 长度为 4
set nobackup " 覆盖文件时不备份
"set autochdir " 自动切换当前目录为当前文件所在的目录
set backupcopy=yes " 设置备份时的行为为覆盖
set incsearch " 输入搜索内容时就显示搜索结果
set hlsearch " 搜索时高亮显示被找到的文本
set magic " 设置魔术
set hidden " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存
set guioptions-=T " 隐藏工具栏
set guioptions-=m " 隐藏菜单栏
set smartindent " 开启新行时使用智能自动缩进
set backspace=indent,eol,start
set cmdheight=1 " 设定命令行的行数为 1
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
set t_Co=256
"禁止生成临时文件
set nobackup
set helplang=cn " 设定帮助文档为中文set encoding=utf-8
set noswapfile
"代码补全
set completeopt=preview,menu

"设置标记一列的背景颜色和数字一行颜色一致
hi! link SignColumn LineNr
hi! link ShowMarksHLl DiffAdd
hi! link ShowMarksHLu DiffChange

"" for error highlight,防止错误整行标红导致看不清
highlight clear SpellBad
highlight SpellBad term=standout ctermfg=1 term=underline cterm=underline
highlight clear SpellCap
highlight SpellCap term=underline cterm=underline
highlight clear SpellRare
highlight SpellRare term=underline cterm=underline
highlight clear SpellLocal
highlight SpellLocal term=underline cterm=underline

"自动补全
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(‘)‘)<CR>
:inoremap { {<CR>}<ESC>O
:inoremap } <c-r>=ClosePair(‘}‘)<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(‘]‘)<CR>
:inoremap " ""<ESC>i
:inoremap ‘ ‘‘<ESC>i
function! ClosePair(char)
if getline(‘.‘)[col(‘.‘) - 1] == a:char
return "\<Right>"
else
return a:char
endif
endfunction
filetype plugin indent on
"打开文件类型检测, 加了这句才可以用智能补全
set completeopt=longest,menu
"新建.c,.h,.sh,.java文件,自动插入文件头
autocmd BufNewFile *.cpp,*.[ch],*.sh,*.rb,*.java,*.py exec ":call SetTitle()"
""定义函数SetTitle,自动插入文件头
func SetTitle()
"如果文件类型为.sh文件
if &filetype == ‘sh‘
call setline(1,"\#!/bin/bash")
call append(line("."), "")
elseif &filetype == ‘python‘
call setline(1,"#!/usr/bin/env python")
call append(line("."),"# coding=utf-8")
call append(line(".")+1, "")

elseif &filetype == ‘ruby‘
call setline(1,"#!/usr/bin/env ruby")
call append(line("."),"# encoding: utf-8")
call append(line(".")+1, "")
endif
if expand("%:e") == ‘cpp‘
call setline(1, "#include <iostream>")
call append(line("."), "#include <algorithm>")
call append(line(".")+1, "#include <cstdio>")
call append(line(".")+2, "#include <cstring>")
call append(line(".")+3, "")
call append(line(".")+4, "using namespace std;")
call append(line(".")+5, "")
endif
if &filetype == ‘c‘
call setline(1, "#include<stdio.h>")
call append(line("."), "")
endif
if expand("%:e") == ‘h‘
call setline(1, "#ifndef _".toupper(expand("%:r"))."_H")
call append(line("."), "#define _".toupper(expand("%:r"))."_H")
call append(line(".")+1, "#endif")
endif
if &filetype == ‘java‘
call setline(1,"public class ".expand("%:r"))
call append(line("."),"")
endif
"新建文件后,自动定位到文件末尾
endfunc
autocmd BufNewFile * normal G

"在vim编辑sh文件后,自动拥有执行权限"
function ModeChange()
if getline(1) =~ "^#!"
if getline(1) =~ "bin/"
silent !chmod a+x <afile>
endif
endif
endfunction
au BufWritePost * call ModeChange()
时间: 2024-12-23 14:58:39

.vimrc配置文件的相关文章

自家用的.vimrc配置文件

一..vimrc配置文件 cat .vimrc set backupdir=/root/vimbackup set background=dark colorscheme desert syntax on set incsearch                      if has("autocmd")   filetype plugin indent on endif set hlsearch autocmd BufReadPost *   \ if line("'\

我现在的vimrc配置文件

runtime! debian.vim "设置编码 set encoding=utf-8 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 set fileencodings=utf-8,ucs-bom,chinese "语言设置 set langmenu=zh_CN.UTF-8 " command WQ wq command Wq wq command W w command Q q map <F5&

vim快捷键,及vimrc的简单设置

1) 光标的移动 H 光标移动到屏幕的顶行行首 M 光标移动到屏幕的中间行行首 L 光标移动到屏幕的末行行尾 0   光标移动到当前行行首 $ 光标移动到当前行行尾 G 光标移动到当前行行首 gg  光标移动到首行行首 nG 光标下移N行(包括当前行)至行尾 n+ 光标下移N行(包括当前行)至行首 n- 光标上移N行(包括当前行)至行首 %    先吧光标停留在 "{" 或者 "}" 能直接移动到与当前大括号匹配的另一个大括号 | 列 n| 光标移动到当前行的第n列

vim自定义设置-配置文件

http://blog.csdn.net/pipisorry/article/details/25056909 .vimrc配置文件表示说明 vim自定义键盘映射 使用:map命令,可以将键盘上的某个按键与Vim的命令绑定起来.例如使用以下命令,可以通过F5键将单词用花括号括起来::map <F5> i{e<Esc>a}<Esc>其中:i{将插入字符{,然后使用Esc退回到命令状态:接着用e移到单词结尾,a}增加字符},最后退至命令状态.在执行以上命令之后,光标定位在一

Linux下编辑利器vim,vimrc,viminfo的高级用法

1.ci" (由 change operator 和 text-object i" 组成) 这个命令会找到当前光标所在行的下一个 " 括起来的字符串,清除引号裏面的内容,并进入 insert mode 以方便修改用起来比解释起来简单,你可用 const char* hello = "Hello world."; 类似这样的代码来测试 2.yaB (由 yank operator 和 text-object aB 组成) 这个命令会将当前光标所在的代码块({

[Linux学习笔记] Linux文本编辑器Vim/Vi

文本编辑器Vim: Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器. 它的作用是建立.编辑.显示文本文件. Vim/Vi没有菜单,只有命令. 插入命令 命令 作用 a 在光标后附加文本 A 在本行行末附加文本 i 在光标前插入文本 I 在本行开始插入文本 o 在光标下插入新行 O 在光标上插入新行 定位命令 命令 作用 h 方向左键. 左移一个字符 j 方向下键. 下移一行 k 方向上键. 上移一行 l 方向右键. 右移一个字符 $ 移至行尾 0 移至行

干货!一篇文章集合所有Linux基础命令,适合所有菜鸟学习和老手回顾!

1 文件{ ls -rtl # 按时间倒叙列出所有目录和文件 ll -rt touch file # 创建空白文件 rm -rf 目录名 # 不提示删除非空目录(-r:递归删除 -f强制) dos2unix # windows文本转linux文本 unix2dos # linux文本转windows文本 enca filename # 查看编码 安装 yum install -y enca md5sum # 查看md5值 ln 源文件 目标文件 # 硬链接 ln -s 源文件 目标文件 # 符号

老男孩教育每日一题-2017年5月9日-vim命令粘贴带#号或注释信息格式会出现混乱情况怎么办

1.题目 老男孩教育每日一题-2017年5月9日-vim编辑器使用知识点:vim命令粘贴带#号或注释信息格式会出现混乱情况,有什么方法进行解决?问题说明:每次复制代码时,如果代码里有 //或# 这样的注释就容易让格式乱掉,显示的内容不整齐,并不是所期望的显示格式. 2.参考答案 原因分析: 是由于vim编辑命令的自动缩进功能所影响,因此粘贴带注释的代码时可以取消自动缩进 问题解决: vim在粘贴代码时会自动缩进,把代码搞得一团糟糕,甚至可能因为某行的一个注释造成后面的代码全部被注释掉:最初的解决

上古神器--vim编辑器

上古神器,想必大家会联想到xx电视剧,上古神器不就是东皇钟.轩辕剑.盘古斧.炼妖壶.昊天塔.伏羲琴.神农鼎.崆峒印.昆仑镜.女娲石.那是电视剧的上古神器,IT君今天要讲的IT界的上古神器--vim编辑器. 对于一把神器来说,主角往往都是要付出一些努力才能收获到更加强大的力量才行,对于vim这种上古神器,IT君就不多说什么了. 一.vim的基本介绍 1.vim是从vi发展而来的,能实现代码补全.编译及错误跳转等方便的功能. 2.vim有模式之分,分别是一般指令模式.编辑模式和指令列命令模式. 一般