香洲区建设局网站,宁夏建设厅网站首页,业务宣传网站建设,网站建设企业蛋糕1、 基本配置
对vim进行配置的目的#xff1a;
进行vim配置#xff0c;可以让我们在后续敲代码更加方便。按F5可以直接编译并执行C、C代码以及执行shell脚本#xff1b;按“F8”可进行C、C代码的调试#xff1b;“Ctrl A”为全选并复制快捷键#xff0c;方便复…1、 基本配置
对vim进行配置的目的
进行vim配置可以让我们在后续敲代码更加方便。按F5可以直接编译并执行C、C代码以及执行shell脚本按“F8”可进行C、C代码的调试“Ctrl A”为全选并复制快捷键方便复制代码按“F2”可以直接消除代码中的空行F3”可列出当前目录文件打开树状文件目录支持代码高亮自动缩进显示行号显示状态行按“Ctrl P”可自动补全等等。
以下为简单配置的.vimrc文件 set fencsutf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 settermencodingutf-8 setencodingutf-8 setfileencodingsucs-bom,utf-8,cp936 setfileencodingutf-8 显示相关 setshortmessatI 启动的时候不显示那个援助乌干达儿童的提示 winpos 55 设定窗口位置 set lines40columns155 设定窗口大小 set go 不要图形按钮 colorasmanian2 设置背景主题 setguifontCourier_New:h10:cANSI 设置字体 syntaxon 语法高亮 autocmdInsertLeave * se nocul 用浅色高亮当前行 autocmdInsertEnter * se cul 用浅色高亮当前行 setruler 显示标尺 set showcmd 输入的命令显示出来看的清楚些 setcmdheight1 命令行在状态行下的高度设置为1 setwhichwrap,,h,l 允许backspace和光标键跨越行边界(不建议) setscrolloff3 光标移动到buffer的顶部和底部时保持3行距离 setnovisualbell 不要闪烁(不明白) setstatusline%F%m%r%h%w\ [FORMAT%{ff}]\ [TYPE%Y]\ [POS%l,%v][%p%%]\ %{strftime(\%d/%m/%y\-\ %H:%M\)} 状态行显示的内容 setlaststatus1 启动显示状态行(1),总是显示状态行(2) setfoldenable 允许折叠 setfoldmethodmanual 手动折叠 setbackgrounddark 背景使用黑色 setnocompatible 去掉讨厌的有关vi一致性模式避免以前版本的一些bug和局限 显示中文帮助 if version 603 set helplangcn set encodingutf-8 endif 设置配色方案 colorschememurphy 字体 if(has(gui_running)) set guifontBitstream\ Vera\ Sans\ Mono\ 10 endif 新文件标题 新建.c,.h,.sh,.java文件自动插入文件头 autocmd BufNewFile*.cpp,*.[ch],*.sh,*.java exec :call SetTitle() 定义函数SetTitle自动插入文件头 func SetTitle() 如果文件类型为.sh文件 if filetype sh callsetline(1,\#########################################################################) call append(line(.),\# File Name: .expand(%)) call append(line(.)1,\# Author: ma6174) call append(line(.)2,\# mail: ma6174163.com) 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: ma6174) call append(line(.)2, Mail: ma6174163.com ) call append(line(.)3, Created Time:.strftime(%c)) call append(line(.)4,************************************************************************/) call append(line(.)5,) endif if filetype cpp call append(line(.)6,#includeiostream) call append(line(.)7,using namespace std;) call append(line(.)8,) endif if filetype c call append(line(.)6,#includestdio.h) call append(line(.)7,) endif iffiletype java callappend(line(.)6,public class .expand(%)) callappend(line(.)7,) endif 新建文件后自动定位到文件末尾 autocmd BufNewFile * normal G endfunc 键盘命令 nmapleaderw :w!cr nmapleaderf :findcr 映射全选复制 ctrla map C-AggVGY map! C-AEscggVGY map F12ggG 选中状态下 Ctrlc 复制 vmap C-cy 去空行 nnoremapF2 :g/^\s*$/dCR 比较文件 nnoremapC-F2 :vert diffsplit 新建标签 map M-F2:tabnewCR 列出当前目录文件 map F3:tabnew .CR 打开树状文件目录 map C-F3\be CC 按F5编译运行 map F5:call CompileRunGcc()CR func!CompileRunGcc() exec w if filetype c exec !g % -o % exec ! ./% elseif filetype cpp exec !g % -o % exec ! ./% elseif filetype java exec !javac % exec !java % elseif filetype sh :!./% elseif filetype py exec !python % exec !python % endif endfunc C,C的调试 map F8:call Rungdb()CR func! Rungdb() exec w exec !g % -g -o % exec !gdb ./% endfunc 实用设置 设置当文件被改动时自动载入 set autoread quickfix模式 autocmd FileTypec,cpp map buffer leaderspace:wcr:makecr 代码补全 setcompleteoptpreview,menu 允许插件 filetype plugin on 共享剪贴板 setclipboardunnamed 从不备份 set nobackup make 运行 :set makeprgg\-Wall\ \ % 自动保存 set autowrite set ruler 打开状态栏标尺 setcursorline 突出显示当前行 set magic 设置魔术 setguioptions-T 隐藏工具栏 setguioptions-m 隐藏菜单栏 setstatusline\ %%F[%1*%M%*%n%R%H]%\ %y\ %0(%{fileformat}\%{encoding}\ %c:%l/%L%)\ 设置在状态行显示的信息 set foldcolumn0 setfoldmethodindent set foldlevel3 setfoldenable 开始折叠 不要使用vi的键盘模式而是vim自己的 set nocompatible 语法高亮 set syntaxon 去掉输入错误的提示声音 set noeb 在处理未保存或只读文件的时候弹出确认 set confirm 自动缩进 set autoindent set cindent Tab键的宽度 set tabstop4 统一缩进为4 set softtabstop4 set shiftwidth4 不要用空格代替制表符 set noexpandtab 在行和段开始处使用制表符 set smarttab 显示行号 set number 历史记录数 set history1000 禁止生成临时文件 set nobackup set noswapfile 搜索忽略大小写 set ignorecase 搜索逐字符高亮 set hlsearch set incsearch 行内替换 set gdefault 编码设置 set encutf-8 setfencsutf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 语言设置 setlangmenuzh_CN.UTF-8 set helplangcn 我的状态行显示的内容包括文件类型和解码 setstatusline%F%m%r%h%w\ [FORMAT%{ff}]\ [TYPE%Y]\ [POS%l,%v][%p%%]\%{strftime(\%d/%m/%y\ -\ %H:%M\)} setstatusline[%F]%y%r%m%*%[Line:%l/%L,Column:%c][%p%%] 总是显示状态行 set laststatus2 命令行在状态行下的高度默认为1这里是2 set cmdheight2 侦测文件类型 filetype on 载入文件类型插件 filetype plugin on 为特定文件类型载入相关缩进文件 filetype indent on 保存全局变量 set viminfo! 带有如下符号的单词不要被换行分割 setiskeyword_,$,,%,#,- 字符间插入的像素行数目 set linespace0 增强模式中的命令行自动完成操作 set wildmenu 使回格键backspace正常处理indent, eol, start等 set backspace2 允许backspace和光标键跨越行边界 set whichwrap,,h,l 可以在buffer的任何地方使用鼠标类似office中在工作区双击鼠标定位 set mousea setselectionexclusive setselectmodemouse,key 通过使用: commands命令告诉我们文件的哪一行被改变过 set report0 在被分割的窗口间显示空白便于阅读 setfillcharsvert:\ ,stl:\ ,stlnc:\ 高亮显示匹配的括号 set showmatch 匹配括号高亮的时间单位是十分之一秒 set matchtime1 光标移动到buffer的顶部和底部时保持3行距离 set scrolloff3 为C程序提供自动缩进 set smartindent 高亮显示普通txt文件需要txt.vim脚本 auBufRead,BufNewFile * setfiletype txt 自动补全 :inoremap (()ESCi :inoremap )c-rClosePair())CR :inoremap {{CR}ESCO :inoremap }c-rClosePair(})CR :inoremap [[]ESCi :inoremap ]c-rClosePair(])CR :inoremap ESCi :inoremap ESCi function!ClosePair(char) if getline(.)[col(.) - 1] a:char return \Right else return a:char endif endfunction filetype pluginindent on 打开文件类型检测, 加了这句才可以用智能补全 setcompleteoptlongest,menu NERDtee设定 letNERDChristmasTree1 letNERDTreeAutoCenter1 letNERDTreeBookmarksFile$VIM.\Data\NerdBookmarks.txt letNERDTreeMouseMode2 letNERDTreeShowBookmarks1 letNERDTreeShowFiles1 letNERDTreeShowHidden1 letNERDTreeShowLineNumbers1 letNERDTreeWinPosleft letNERDTreeWinSize31 nnoremap f:NERDTreeToggle 2.下载TagList插件安装下载浏览器WinManager插件安装 在当前用户下建立.vim目录打开.vim目录建立doc和plugin目录。打开链接 http://www.vim.org/scripts/script.
PHP
?script_id273下载TagList_xx.zip减压后taglist.txt放在doc目录下taglist.vim放在plugin目录下打开链接
http://www.vim.org/scripts/script.php?script_id9 下载WinManager.zip减压后将winmanager.txt放入/.vim/doc中将winfileexplorer.vimwinmanager.vim和wintagexpiorer.vim放入plugin目录下打开.vimrc在尾行添加let Tlist_Show_One_File1let Tlist_Exit_OnlyWindow1let Tlist_Use_Right_Window1letg:winManagerWindowLayoutFileExplorer|TagListnmap wm :WMTogglecr新建一个test.c 3、语法高亮 没语法高亮写程序真是太痛苦了慢屏都是同一个颜色除非是色盲否则看起来真的很不舒服。 好吧让我们设置一下高亮。 首先要在你的 ~/.vimrc 文件中增加下面几句话:
syntax enable
syntax on 4高效地浏览源码 -- 插件: TagList 下载地址http://www.vim.org/scripts/script.php?script_id273 版本4.6 安装 在 ~/.vim 目录下解压taglist_xx.zip
下载后解压到.vim 文件夹下plugin文件夹 5文件浏览器和窗口管理器 -- 插件: WinManage
下载后解压到.vim 文件夹下plugin文件夹
输入 :e ./ 即可选择打开的文件 6.c/h文件间相互切换 -- 插件: A 下载地址 http://www.vim.org/scripts/script.php?script_id31 安装将a.vim 放到 ~/.vim/plugin 文件夹中 安装好a.vim后有下面的几个命令可以用了: A 在新Buffer中切换到c\h文件 AS 横向分割窗口并打开c\h文件 AV 纵向分割窗口并打开c\h文件 AT 新建一个标签页并打开c\h文件