1、打开用户Vim配置文件:~/.vimrc

vim是个很好用的编辑器,但左手难度高,而且先河的vim并糟糕用,所以大家要怜惜对配备文件vimrc和局地插件的选择让投机的vim更加个性化和顺手,昨东瀛人就写点不难的vimrc的编排

一、引言

  1. 家目录创设.vimrc文件

vim ~/.vimrc

率先大家要找到vimrc

   1.
vim是一款功效强大的文书编辑器,如果利用熟谙,将会立见作用帮扶大家增强编制文本、程序的频率。vim编辑器的左手使用门槛比较高,很几个人怯于要记很多指令,往往在攻读的早期阶段就恐怖。

  set nu    # 设置行号

 

在/etc/vim的目录下咱们可以找到vimrc,当然假设没有也得以友善创立。

   2.
vim的就学须求持续的演习、使用,唯有强迫自己不停的采纳,才能在使用的进度中切记那多少个看似复杂的下令,不过假若一旦习惯了vim的编制形式,就会觉得vim真的会拉扯大家进步文本编辑成效。

  set tabstop=4  # tab制表符缩进

2、输入以下配置:

本身的vim版本下vimrc已经有了比比皆是安顿了,只必要去掉前边的双引号就能让特定的作用完毕

   3.
关于vim学习材料,其本自带的vim扶助文档,就够用充裕,可以在求学的进度不断查阅。其余,也有一个简化的入手文档即vimtutor,在命令行输入vimtutor,便可以初叶攻读,大概不到一个钟头就足以学学并磨练完。

  set autoindent  # 自动缩进

set tabstop=4

二、配置

***  set showmatch  # 括号匹配高亮

inoremap ” “”<ESC>i    

1

   1.
vim的配置文件有大局配置(一般在目录/etc/vim/vimrc)和民用配置(/home/username/.vimrc)下,全局配置文件对系统所有的用户都见效,个人配置文件只对用户自的利用环境生效


inoremap ( ()<ESC>i

澳门金沙国际 1

   2.
vim的配备文件一般网上都会有人家已经设置好的陈设,可以复制到自己的个体配置文件里直接使用,也得以依据须要团结定制自己的利用环境

  execute pathogen#infect()  # # # # # #
  **
syntax on           那三行是pathogen
vim插件管理器配置**

inoremap { {<CR>}<ESC>O<TAB>

三、配置脚本

  ***filetype plugin indent on   # # # # # #*

说明:

2

  1.在前头的利用进度中,本太子参考资料根据个体需求安插了一份祥和的布置脚本,其中多数都有注释表达,可以依据必要团结配置。注:”发轫的在vimrc中意味注释

***  colorscheme evening  # 颜色样式

1)Vim的TAB默认是8个空格,这里用set tabstop=4设置为4个;

澳门金沙国际 2

        set termencoding=utf8


2)大括号配置是为了书写函数方便,换行并且有一个TAB缩进,即使是对数组开首化,可依照需求调整。

set hlsearch
“行号
set nu
“语法高亮
syntax on
“启用鼠标
set mouse=v
“自动缩进
“杰出显示列
“set cursorcolumn
“突出浮现当前行
set cursorline
“高亮显示当前行
“hi CursorLine cterm=NONE ctermbg=magenta ctermfg=white guibg=darked
guifg=white
set autoindent
“set guifont=Monaco:h80 ” 字体 && 字号
“去掉讨厌的关于vi一致性方式,幸免在此之前版本的有些bug和局限
set nocompatible
“依据下面的对齐格式,智能的挑选对起方式,对于类似C语言编写上很有用
set smartindent
“设置缩进
set tabstop=4
set softtabstop=4
set shiftwidth=4
“在状态栏突显正在输入的通令
set showcmd
“左下角展现当前vim情势
set showmode
” 代码折叠
set foldenable
set foldmethod=indent
set foldlevel=99
“突显标尺
set ruler
“打开文件类型自动检测功用
filetype on
set completeopt=longest,menu
“启动自动补全
“filetype plugin indent on
“在细分的窗口间移动
:nnoremap <C-h> <C-w>h
:nnoremap <C-j> <C-w>j
:nnoremap <C-k> <C-w>k
:nnoremap <C-l> <C-w>l

**  set laststatus=2    # 呈现状态栏
  set statusline=\ %<%F[%1\
%M%*%n%R%H]%=\ %y\
%0(%{&fileformat}\
[%{(&fenc==\”\”?&enc:&fenc).(&bomb?\”,BOM\”:\”\”)}]\
%c:%l/%L%)    # 状态栏显示格式 

 

下周所写的语法高亮就是内部的

“当新建 .h .c .hpp .cpp 等公事时自动调用SetTitle 函数
autocmd BufNewFile *.[ch],*.php,*.cpp exec “call SetTitle()”
function SetComment()
 call
setline(1,”/*========================================================”)
 call append(line(“.”), “* Copyright (C) “.strftime(“%Y”).” All rights
reserved.”)
 call append(line(“.”)+1, “* “)
 call append(line(“.”)+2, “* 文件名称:”.expand(“%:t”))
 call append(line(“.”)+3, “* 创 建 者:mj”)
 call append(line(“.”)+4, “* 成立日期:”.strftime(“%Y年%m月%d日”))
call append(line(“.”)+5, “* 描 述:”)
call append(line(“.”)+6, “*”)
 call append(line(“.”)+7,
“================================================================*/”)
endfunction
“定义函数SetTitle,自动插入文件头
function SetTitle()
 call SetComment()
 if expand(“%:e”) == ‘php’
 call append(line(“.”)+8, “#Vim中设置括号自动补全,Vim配置持续记录。ifndef
_”.toupper(expand(“%:t:r”)).”_H”)
 call append(line(“.”)+9, “#define
_”.toupper(expand(“%:t:r”)).”_H”)
 call append(line(“.”)+10, “#ifdef __cplusplus”)
 call append(line(“.”)+11, “extern \”C\””)
 call append(line(“.”)+12, “{“)
 call append(line(“.”)+13, “#endif”)
 call append(line(“.”)+14, “”)
 call append(line(“.”)+15, “#ifdef __cplusplus”)
 call append(line(“.”)+16, “}”)
 call append(line(“.”)+17, “#endif”)
 call append(line(“.”)+18, “#endif
//”.toupper(expand(“%:t:r”)).”_H”)
 elseif expand(“%:e”) == ‘h’
 “call append(line(“.”)+8, “#pragma once”)
 elseif &filetype == ‘c’
 call append(line(“.”)+8,”#include <stdio.h>”)
 call append(line(“.”)+9,”#include <stdlib.h>”)
 call append(line(“.”)+10,” “)
 call append(line(“.”)+11,” “)
 call append(line(“.”)+12,”int main() “)
 call append(line(“.”)+13,”{“)
 call append(line(“.”)+14,” return EXIT_SUCCESS;”)
 call append(line(“.”)+15,”}”)
 elseif &filetype == ‘cpp’
 “call append(line(“.”)+8, “#include \””.expand(“%:t:r”).”.h\””)
 call append(line(“.”)+8, “#include <iostream>”)
 call append(line(“.”)+9, “#include <string>”)
 call append(line(“.”)+10,”#include <cstdlib>”)
 call append(line(“.”)+11,” “)
 call append(line(“.”)+12,”using namespace std;”)
 call append(line(“.”)+13,” “)


if has(“syntax”)

call append(line(“.”)+13,” “)
 call append(line(“.”)+14,”int main() “)
 call append(line(“.”)+15,”{“)
 call append(line(“.”)+16,” return EXIT_SUCCESS;”)
 call append(line(“.”)+17,”}”)
 endif
endfunction
autocmd BufNewFile *.sh exec “call SetBashTitle()”
function SetBashTitle()
 call setline(1,”#!/bin/bash”)
endfunction
“自动补全
“:inoremap ( ()<ESC>i
“:inoremap ) <c-r>=ClosePair(‘)’)<CR>
“:inoremap { { }<ESC>
:inoremap } <c-r>=ClosePair(‘}’)<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(‘]’)<CR>
:inoremap ‘ ”<ESC>i
function! ClosePair(char)
 if getline(‘.’)[col(‘.’) – 1] == a:char
 return “\<Right>”
 else
 return a:char
 endif
endfunction

  map <F2> :NERDTreeToggle<CR>  # nerdtree
目录树,
快速键绑定,比如按F2可以打开或关闭目录列表**

syntax on

“设置退格键
set backspace=indent,eol,start

**  let NERDTreeWinSize=20  # 设置nerdtree
目录树宽度**

endif

  1. vim宗旨陈设

**  let NERDTreeShowHidden=1  # 设置呈现隐藏文件**

自然都是英文,大家很难精通,所以自己找了少数国语注释

  vim自带了许多宗旨设置,一般可以在/usr/share/vim/vim72/colors目录中查看当前版本的vim的颜料方案,可以在.vimrc中用colorscheme 
darkblue或者其大旨开展vim的大旨安排。

**  let NERDTreeIgnore=[‘\.pyc’,’\~$’,’\.swp’]   #
设置忽略的文件**

  也得以依据剧本配置其分歧或稍复杂的水彩方案,下边一段脚本就是根据每一天的分化时间段配置vim的水彩方案

**  let
NERDTreeShowBookmarks=1  #
突显书签列表**

“展现行号

  

**  let
g:NERDTreeDirArrowExpandable = ‘▸’  #
设置目录前边的箭头样式**

“set nu

    “根据时间段不一样,设置vim的分歧配色方案

**  let
g:NERDTreeDirArrowCollapsible = ‘▾’**

“检测文件的花色

function SetTimeOfDayColors()
 let currentHour = strftime(“%H”)
 let colorScheme=””
 if currentHour < 1 + 0
 let colorScheme = “blue”
 echo “setting colorscheme to blue”
 elseif currentHour < 2 + 0
 let colorScheme=”darkblue”
 echo “setting colorscheme to darkblue”
 elseif currentHour < 3 + 0
 let colorScheme=”default”
 echo “setting colorscheme to default”
 elseif currentHour < 4 + 0
 let colorScheme=”delek”
 echo “setting colorscheme to delek”
 elseif currentHour < 5 + 0
 let colorScheme=”desert”
 echo “setting colorscheme to desert”
 elseif currentHour < 6 + 0
 let colorScheme=”elflord”
 echo “setting colorscheme to elflord”
 elseif currentHour < 7 + 0
 let colorScheme=”evening”
 echo “setting colorscheme to evening”
 elseif currentHour < 8 + 0
 let colorScheme=”koehler”
 echo “setting colorscheme to koehler”
 elseif currentHour < 9 + 0
 let colorScheme=”morning”
 echo “setting colorscheme to morning”
 elseif currentHour < 10 + 0
 let colorScheme=”murphy”
 echo “setting colorscheme to murphy”
 elseif currentHour < 11 + 0
 let colorScheme=”pablo”
 echo “setting colorscheme to pablo”
 elseif currentHour < 12 + 0

**  *inoremap ‘
”<ESC>i    # 设置括号,引号匹配*

filetype on

let colorScheme=”peachpuff”
 echo “setting colorscheme to peachpuff”
 elseif currentHour < 13 + 0
 let colorScheme=”ron”
 echo “setting colorscheme to ron”
 elseif currentHour < 14 + 0
 let colorScheme=”shine”
 echo “setting colorscheme to shine”
 elseif currentHour < 15 + 0
 let colorScheme=”desert”
 echo “setting colorscheme to desert”
 elseif currentHour < 16 + 0
 let colorScheme = “torte”
 echo “setting colorscheme to torte”
 elseif currentHour < 17 + 0
 let colorScheme=”zellner”
 echo “setting colorscheme to zellner”
 else
 let colorScheme=”desert”
 endif
 execute “colorscheme ” . colorScheme
endfunction
call SetTimeOfDayColors()

*  *inoremap ” “”<ESC>i**

“记录历史的行数

更加多Vim相关课程见以下内容

  inoremap ( ()<ESC>i
  inoremap [ []<ESC>i
  inoremap { {<CR>}<ESC>O

set history=1000

Vim学习指南
http://www.linuxidc.com/Linux/2013-08/89096.htm

**2. 安装pathogen vim 插件管理器**

“背景使用粉色

迅猛学会 Vi编辑器
http://www.linuxidc.com/Linux/2013-08/88586.htm

**  官方提供的设置格局在
和 ~/.vim/bundle目录,每个插件作为一个单身文件夹在bundle目录下**

set background=dark

强大的Vim 编辑器
http://www.linuxidc.com/Linux/2013-07/87544.htm

**  安装插件: 比如:nerdtree, **git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree ``然后重启vim,按F12即可查看目录

“语法高亮度突显

在CentOS
6.2上搭建Vim开发环境
http://www.linuxidc.com/Linux/2013-07/87363.htm

**  删除插件:进入~/.vim/bundle/下删除相应的插件目录即可**

syntax on

把Vim打造成优质的C++ IDE 
http://www.linuxidc.com/Linux/2016-06/132262.htm

**  更新插件:进入实际的插件目录,执行 git pull origin**

“上边两行在进展编辑代码时,在格式对起上很有用;

Vim技巧分享:C语言设置
http://www.linuxidc.com/Linux/2012-12/77124.htm

**3. vim 在新标签页创建新文件: tabnew  路径/文件名**

“第一行,vim使用机动对起,也就是把当下行的对起格式应用到下一行;

Ubuntu中设置Vim的行号
http://www.linuxidc.com/Linux/2012-12/75485.htm

**   在新标签编辑已有文件:tabedit   路径/文件名**

“第二行,依照上边的对起格式,智能的选项对起方式,对于类似C语言编

正文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/135043.htm

**   在标签页间切换: tabn 表示下一个标签**

“写上很有用

澳门金沙国际 3

**   参考:

set autoindent

**4.
vim多窗口分割及切换退出,参考:

set smartindent

**5. vim 使用tabnew
新建文件后,nerdtree目录树没有自动更新,先切换来目录列表,按shift +
r,手动刷新**

“第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格

**6.
vim在编辑时,须要裁撤。先esc退出编辑状态,按u,撤消上次操作。crtl +
r可过来打消**

set tabstop=2

**7. vim
命令行格局下删除一行,按dd。删除一个字符,按X。光标放在删除开端行,输入之后的行号,按dd可去除多行**

set shiftwidth=2

**8. vim
单行,多行复制粘粘,参考:

“设置匹配形式,类似当输入一个左括号时会同盟相应的极度右括号

**9. vim 命令行情势下: 按shift +
o,在脚下行方面插入空行,并跻身插入方式; 按 o
在时下行上边插入空行,并进入插入方式**

set showmatch

**10. vim 插入格局下: 先按ctrl + o 。之后,按shift + o
在当前行方面插入空行 ; 按o 在当下行下边插入空行澳门金沙国际 ,**

“在编制进程中,在右下角突显光标地点的情事行

**11. phpcomplete代码提示插件,vim7.0已上自带, 我的是8.0
故在/usr/share/vim/vim80/autoload/phpcomplete.vim**

set ruler

**  然后.vimrc中配置**

“寻找匹配是高亮度显示的

**  filetype plugin on  #
那句我下面的早已安插了,那块只添加下边那句 
  autocmd FileType php set omnifunc=phpcomplete#CompletePHP**

set hls

**  使用格局:编辑形式输入函数 str_ , 按ctrl + x , 再按ctrl + o
就会显得函数列表可供拔取**

“关闭高亮

map : nohlsearch

“查询时相当有利,如要查找book单词,当输入到/b时,会自行找到第一

“个b开端的单词,当输入到/bo时,会自行找到第三个bo起初的单词,依

“次类推,举行搜寻时,使用此设置会快速找到答案,当你找要同盟的单词

“时,别忘记回车

set incsearch

“修改一个文件后,自动进行备份,备份的文件名为原文件名加“~“后缀

set backup

再有本人感觉到很好用的机关补全括号

inoremap ( ()<ESC>i

inoremap [ []<ESC>i

inoremap { {}<ESC>i

inoremap < <><ESC>i

自然还有不少足以让大家友好去改善

相关文章