VIM配置模版

set
nocompatible           
" 关闭 vi 兼容模式
syntax
on                  
" 自动语法高亮
set
number                 
" 显示行号
set
ruler                  
" 打开状态栏标尺
set shiftwidth=4           
" 设定 << 和 >> 命令移动时的宽度为 4
set
textwidth=80           
" 设置每行80个字符自动换行
set fo+=Mm
                 "
中文40个字换行
set
autoread               
" 当文件被外部编辑器更改后,自动载入
set autoindent        
     " 继承前一行的缩进方式,特别适用于多行注释
set
softtabstop=4          
" 使得按退格键时可以一次删掉 4 个空格
set
tabstop=4              
" 设定 tab 长度为 4
set
nobackup               
" 覆盖文件时不备份
set
autochdir              
" 自动切换当前目录为当前文件所在的目录
filetype plugin indent
on   " 开启插件
set backupcopy=yes         
" 设置备份时的行为为覆盖
set ignorecase
smartcase    "
搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
set
nowrapscan             
" 禁止在搜索到文件两端时重新搜索
set
incsearch              
" 输入搜索内容时就显示搜索结果
set
hlsearch               
" 搜索时高亮显示被找到的文本
set
noerrorbells           
" 关闭错误信息响铃
set history=80
             "
记录历史命令行数
set iskeyword+=_,$,@,%,#,-  " 带有_,$,@,%,#,-这些字符的串,不被换行分割
set mouse=a              
  " 设置鼠标一直可用
set shortmess=atI    
      " 启动的时候不显示那个援助索马里儿童的提示
set
novisualbell           
" 关闭使用可视响铃代替呼叫
set
t_vb=                  
" 置空错误铃声的终端代码
set noswapfile          
   " 禁用swap文件
" set showmatch
            "
插入括号时,短暂地跳转到匹配的对应括号
" set matchtime=2    
      " 短暂跳转到匹配括号的时间
set
magic                  
" 设置魔术
set
hidden                 
" 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存
set
smartindent            
" 开启新行时使用智能自动缩进
set backspace=indent,eol,start
                           
" 不设定在插入状态无法用退格键和 Delete 键删除回车符
set
cmdheight=1            
" 设定命令行的行数为 1
set laststatus=2           
" 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline=\
%<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\
%c:%l/%L%)\
                           
" 设置在状态行显示的信息
set
foldenable             
" 开始折叠
set
foldmethod=syntax       "
设置语法折叠
set foldcolumn=0           
" 设置折叠区域的宽度
setlocal
foldlevel=1        "
设置折叠层数为
" set
foldclose=all          
"
设置为自动关闭折叠                           
" nnoremap <space> @=((foldclosed(line(‘.‘)) < 0)
? ‘zc‘ :
‘zo‘)<CR>
                           
" 用空格键来开关折叠
colorscheme desert        
 " 设定配色方案
if has("gui_running")
    "au GUIEnter *
simalt ~x  "
窗口启动时自动最大化
    "set guioptions-=m
     " 隐藏菜单栏
   
set guioptions-=T       "
隐藏工具栏
    set guioptions-=L       " 隐藏左侧滚动条
    set
guioptions-=r       "
隐藏右侧滚动条
    set guioptions-=b       " 隐藏底部滚动条
    "set
showtabline=0
     " 隐藏Tab栏
   
"set cursorline         "
突出显示当前行
    colorscheme default     "
设定配色方案
    winpos 250 80           "窗口位置
   
set lines=30 columns=100   
"窗口大小
    set textwidth=80
endif
 
"返回操作系统类型(Windows, Linux等)
function!
MySys()
    if has("win16")
|| has("win32") || has("win64") || has("win95")
        return
"windows"
    elseif
has("unix")
        return
"linux"
   
endif
endfunction
 
" 用户目录变量$VIMFILES
if
MySys() == "windows"
    let $VIMFILES = $VIM.‘/vimfiles‘
elseif MySys() == "linux"
    let $VIMFILES = $HOME.‘/.vim‘
endif
 
" 设定doc文档目录
let
helptags=$VIMFILES.‘/doc‘
 
"设定中文帮助文档
if
version >=
603
    set helplang=cn
endif
 
"
设置字体 以及中文支持
if has("win32") ||
has("win64")
    set
guifont=Courier_New:h10:cANSI:b
elseif has("unix")
   
set guifont=Courier\ 10\ Pitch\ 10
endif
 
"
配置多语言环境
if has("multi_byte")
   
" UTF-8 编码
    set
encoding=utf-8
    set
termencoding=utf-8
    set
formatoptions+=mM
    set
fencs=utf-8,gbk
 
    if v:lang =~?
‘^\(zh\)\|\(ja\)\|\(ko\)‘
       
set ambiwidth=double
   
endif
 
    if has("win32")
       
source
$VIMRUNTIME/delmenu.vim
       
source $VIMRUNTIME/menu.vim
       
language messages zh_CN.utf-8
   
endif
else
    echoerr "Sorry, this version of
(g)vim was not compiled with +multi_byte"
endif
 
" Buffers操作快捷方式!
nnoremap
<C-RETURN> :bnext<CR>
nnoremap <C-S-RETURN> :bprevious<CR>
 
"
Tab操作快捷方式!
nnoremap <C-TAB> :tabnext<CR>
nnoremap
<C-S-TAB>
:tabprev<CR>
 
"窗口分割时,进行切换的按键热键需要连接两次,比如从下方窗口移动
"光标到上方窗口,需要<c-w><c-w>k,非常麻烦,现在重映射为<c-k>,切换的
"时候会变得非常方便.
nnoremap
<C-h> <C-w>h
nnoremap <C-j>
<C-w>j
nnoremap <C-k>
<C-w>k
nnoremap <C-l>
<C-w>l
 
"一些不错的映射转换语法(如果在一个文件中混合了不同语言时有用)
nnoremap
<leader>1 :set filetype=xhtml<CR>
nnoremap <leader>2
:set filetype=css<CR>
nnoremap <leader>3 :set
filetype=javascript<CR>
nnoremap <leader>4 :set
filetype=php<CR>
 
set
fileformats=unix,dos,mac
" nmap <leader>fd :se fileformat=dos<CR>
" nmap <leader>fu :se
fileformat=unix<CR>
 
" use Ctrl+[l|n|p|cc]
to list|next|previous|jump to
count the result
" map <C-x>l
<ESC>:cl<CR>
" map <C-x>n
<ESC>:cn<CR>
" map <C-x>p <ESC>:cp<CR>
"
map <C-x>c <ESC>:cc<CR>
 
 
"
让 Tohtml 产生有 CSS 语法的 html
" syntax/2html.vim,可以用:runtime! syntax/2html.vim
let
html_use_css=0
 
" Python
文件的一般设置,比如不要 tab 等
autocmd FileType python set tabstop=4 shiftwidth=4
expandtab
autocmd FileType python map <F12> :!python
%<CR>
 
" 选中状态下 Ctrl+c 复制
vmap <C-c>
"+y
 
" 打开javascript折叠
let
b:javascript_fold=1
"
打开javascript对dom、html和css的支持
let
javascript_enable_domhtmlcss=1
 
 
 
"-----------------------------------------------------------------
""括号自动补全
"-----------------------------------------------------------------
:inoremap
" ""<ESC>i
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(‘)‘)<CR>
:inoremap { {}<ESC>i
:inoremap } <c-r>=ClosePair(‘}‘)<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(‘]‘)<CR>
":inoremap < <><ESC>i
":inoremap > <c-r>=ClosePair(‘>‘)<CR>
 
function ClosePair(char)
if getline(‘.‘)[col(‘.‘) - 1] ==
a:char
return "\<Right>"
else
return a:char
endif
endf
 
 
"-----------------------------------------------------------------
"
plugin – checksyntax.vim    JavaScript常见语法错误检查
" 默认快捷方式为 F5
"-----------------------------------------------------------------
let
g:checksyntax_auto = 0 "
不自动检查
 
"-----------------------------------------------------------------
"plugin -
bashsupport
"-----------------------------------------------------------------
let g:BASH_AUTHOR
= ‘wlxxsj‘
let g:BASH_EMAIL = ‘[email protected]‘
let g:BASH_ORGANIZATION =
‘Open Source
Corporation‘
 
 
"-----------------------------------------------------------------
"
plugin - NERD_tree.vim
以树状方式浏览系统中的文件和目录
" :ERDtree
打开NERD_tree        
:NERDtreeClose    关闭NERD_tree
" o
打开关闭文件或者目录         t
在标签页中打开
" T
在后台标签页中打开           !
执行此文件
" p
到上层目录                  
P 到根目录
" K
到第一个节点                
J 到最后一个节点
" u
打开上层目录                
m 显示文件系统菜单(添加、删除、移动操作)
" r
递归刷新当前目录            
R 递归刷新当前根目录
"-----------------------------------------------------------------
" F3 NERDTree 切换
map
<F3> :NERDTreeToggle<CR>
imap <F3>
<ESC>:NERDTreeToggle<CR>
 
 
"
Enable omni completion.
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
autocmd FileType html,markdown
setlocal omnifunc=htmlcomplete#CompleteTags
autocmd
FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
autocmd FileType python setlocal
omnifunc=pythoncomplete#Complete
autocmd FileType xml setlocal
omnifunc=xmlcomplete#CompleteTags
autocmd FileType java setlocal
omnifunc=javacomplete#Complete
autocmd FileType ruby setlocal
omnifunc=rubycomplete#Complete
 
 
"
======= 编译 && 运行 ======= "
"
编译C源文件
func! CompileGcc()
    exec "w"
    let compilecmd="!gcc -Wall -pedantic -std=c99 "
   
let compileflag="-o %<"
   
exec compilecmd." % ".compileflag
endfunc
"
编译C++源文件
func! CompileCpp()
    exec "w"
    let compilecmd="!g++ -Wall -pedantic
-std=c++98 "
    let compileflag="-o %<"
    exec
compilecmd." %
".compileflag
endfunc
"
编译Java源文件
func! CompileJava()
    exec "w"
    exec "!javac %"
endfunc
"
根据文件类型自动选择相应的编译函数
func!
CompileCode()
        exec "w"
       
if &filetype == "c"
           
exec "call
CompileGcc()"
        elseif
&filetype ==
"cpp"
           
exec "call
CompileCpp()"
        elseif
&filetype ==
"java"
           
exec "call
CompileJava()"
        elseif
&filetype ==
"lua"
           
exec "!lua
%<.lua"
        elseif
&filetype ==
"perl"
           
exec "!perl
%<.pl"
        elseif
&filetype ==
"python"
           
exec "!python
%<.py"
        elseif
&filetype ==
"ruby"
           
exec "!ruby
%<.rb"
       
endif
endfunc
" 运行可执行文件
func!
RunResult()
        exec
"w"
        if
&filetype == "c"
           
exec "! %<"
       
elseif &filetype == "cpp"
           
exec "! %<"
       
elseif &filetype == "java"
           
exec "!java %<"
       
elseif &filetype == "lua"
           
exec "!lua %<.lua"
       
elseif &filetype == "perl"
           
exec "!perl %<.pl"
       
elseif &filetype == "python"
           
exec "!python %<.py"
       
elseif &filetype == "ruby"
           
exec "!ruby %<.rb"
       
endif
endfunc


来自为知笔记(Wiz)

VIM配置模版,码迷,mamicode.com

时间: 2024-10-21 15:02:46

VIM配置模版的相关文章

快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础

上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是Windows,装虚拟机也麻烦,所以还不如30块钱 买个腾讯云,用putty远程练上去写代码呢. 我一直都是putty+VIM在Linux下开发代码,好几年了,只要把putty和VIM配置好,其实 开发效率挺高的. 买好腾讯云后,装个Centos,会分配个外网IP,然后买个域名,在DNSPod解析过去

vim 配置

1 此vim配置有以下优点: 2 3 1,按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按“F8”可进行C.C++代码的调试 4 2,自动插入文件头 ,新建C.C++源文件时自动插入表头:包括文件名.作者.联系方式.建立时间等,读者可根据需求自行更改 5 3,映射“Ctrl + A”为全选并复制快捷键,方便复制代码 6 4,按“F2”可以直接消除代码中的空行 7 5,“F3”可列出当前目录文件,打开树状文件目录 8 6,支持鼠标选择.方向键移动 9 7,代码高亮,自动缩

NAT配置模版

A 类:10.0.0.0-10.255.255.255 B 类:172.16.0.0-172.31.255.255 C 类:192.168.0.0-192.168.255.255 上述三个范围内的地址不会在因特网上被分配,因此可以不必向ISP 或注册中心申请而在公司或企业内部自由使用. NAT实现方式:静态转换.动态转换.端口多路复用 1.静态转换: 第一步,设置外部端口 interface serial 0/0 ip address 与ISP互联的地址 ip nat outside 第二步,设

vim配置

vim配置 前言 vim和emacs是linux环境下的文本编辑利器,关于vim和emacs谁更优秀的话题从来没有断过,我在这里就不再评判了,vim是linux下的默认编辑器,学好了vim将会一生受用,我之前学vim是在网上找的一些资料,读博客之类的,使用了几年vim始终感觉没有什么大的进步,后来在vim官网看到vim书籍推荐,其中一本就是<vim实用技巧>,后来果断在京东上买了一本,除了宏相关的没怎么看以外,其他的都看了,加上自己的实际操作,感觉vim技术又上了一个层次,<vim实用技

Linux Vim配置

用过很多vim配置的版本,怎么说,想轻量级就不要胡加乱七八糟的功能:如果不在乎反应是不是快速,侧重功能是否强大,可以参考vim大神的配置策略(spf13-vim)https://github.com/spf13/spf13-vim 入手后,直接按照readme文件的说明安装即可,其实如果必备组件机子都有的话,直接执行 curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh就可以了,很easy

Linux 的vim 配置

一.vim介绍 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是纯粹的自由软件. vim常用的三种命令模式: 1.命令模式(command mode) 输入 vim test.c 会直接进入命令行模式,输入i,进入插入模式. 2.插入模式(Insert mode) 按ESC,进入命令行模式 : w (保存当前文件) : wq (保存并退出vim) : q! (强制退出vim) 3.底行模式(last line mode) 二.vim配置

vim 配置集锦

在linux环境下工作的同学们经常离不开vim编辑器,不管是安装哪个版本的OS,vim的风格很少是已经配置成你习惯的,因为默认的配置没有任何插件和设置.俗话说得好,"工欲善其事必先利其器",为了提高代码阅读.编辑和调试的效率,有必要打造一款专属于你的vim配置. 基于网上能找到的诸多配置,小编整理了一个自己还是蛮习惯和喜欢的设置,分享给大家,欢迎一起.本人的配置主要有下面的特点: 1.支持Tglist显示文件和函数列表,效果如下图: 只需要"wm"键就可以打开或者关闭左侧文件和函数列表

我的vim配置记录

配置路径,/etc/vim/vimrc,这个是系统的vim配置,如果一台PC多个用户使用,每个用户的习惯不同的话,可以使用不同的配置,在用户目录下新建一个.vimrc的文件就可以了. 我目前是将配置写在系统的配置中,我的配置文件如下所示: set nu set tabstop=4 set autoindent set matchtime=1 set hlsearch set cindent set shiftwidth=4 set ruler set showmode colorscheme d

vim配置的初级道路---打造属于自己的Vim

1.vim是linux程序员编程的上古神器 Vim是Linux系统上的最著名的文本/代码编辑器,也是早年的Vi编辑器的加强版,被誉为文本/代码编辑器之中最为优秀经典的上古神器. 它之所以会获得如此美誉,我想主要有以下原因:1.它古老而神秘,学习曲线陡峭,难以驾驭,但是一旦学会则受益匪浅.如今被看作是高手.Geek们专用的编辑器.所以尽管 Vim 已经是古董级的软件,但还是有无数新人迎着困难去学习使用. 2.轻便,无需多言,当仅仅只需要对某一文本文件(比如脚本代码.配置文件)进行简单的编辑的时候,