Vim-详细配置

合集下载

vim编辑器及环境变量配置

vim编辑器及环境变量配置

vim编辑器及环境变量配置vi是Linux系统⾃带的⽂本编辑器,vim编辑器可以⾼亮显⽰vim编辑器的⽤法普通模式,编辑模式,命令模式1. vim ⽂件名# 此时进⼊命令模式,你敲击键盘的动作都会被识别是⼀个vim的命令进⼊编辑模式命令i 在当前光标所在处插⼊⽂字I 在当前所在⾏的⾏⾸第⼀个⾮空格符处开始插⼊⽂字,和A相反A 在当前所在⾏的⾏尾最后⼀个字符处开始插⼊⽂字,和I相反O 在当前所在⾏的上⼀⾏处插⼊新的⼀⾏o 在当前所在⾏的下⼀⾏处插⼊新的⼀⾏2.但凡进⼊插⼊模式之后,敲击键盘的动作就会被识别为是普通的字符串了3.按下esc退出编辑模式之后,⼜进⼊命令模式了4.输⼊ :wq! 保存vim的写⼊内容,然后退出vim,结束操作在普通模式下,常⽤的指令$ 快速移动到⾏尾0 快速移动到光标的⾏⾸x 删除光标所在的字符gg 移动到⽂件的第⼀⾏G 移动到⽂件的最后⼀⾏5gg或5回车当前光标向下移动5⾏yy 复制光标当前⾏3yy 复制光标后3⾏p 打印yy所复制的内容dd 删除光标所在⾏4dd 删除光标向下的4⾏内容dG 删除光标当前⾏,到⾏尾的所有内容u 就是撤销上⼀次的动作命令模式下/string 从⽂件开头搜索,按n继续搜索,按N反向搜索string 从⽂件的第⾏,向上搜索字符串信息,按n继续搜索,按N反向搜索:%s/A/B/g,把A替换成B,如果A或B中有斜线,把分割的斜线换#或@s为替换,g全局替换:n1,n2s/A/B/g n1、n2为数字,在第n1⾏和n2⾏间寻找A,⽤B替换例⼦:全局替换,整个⽂件替换将nologin替换为boy:%s/nologin/boy/g例2:替换1-5⾏,将boy替换为nologin1,5s/boy/nologin/g#///为分隔符,可以⽤### @@@替代:wq!:q! 不保存退出:数字快速的定位到某⼀⾏:set nu 显⽰vim的⾏号:set nonu 取消显⽰⾏号修改linux的全局配置⽂件1.名字叫做 /etc/profile,⾥⾯是shell脚本语⾔2.编辑这个⽂件,写⼊你想永久⽣效的变量和值,系统每次开机都会读取这个⽂件,让其⽣效vim /etc/profile写⼊如下内容###这是⾃定义的变量,每次开机都能够读取了,第⼀条是设置系统中⽂的变量export LC_ALL=zh_CN.UTF-8 #打开注释,系统⽀持中⽂#export LC_ALL=en_US.UTF-8 #打开注释,系统就⽀持英⽂了linux单引号和双引号的区别单引号中的内容,仅仅就是个字符串了,不识别任何其他的特殊符号双引号中的内容,能够识别特殊符号,以及变量[root@linux ~]# echo '$name'$name[root@linux ~]# echo "$name"wmmPATH变量PATH就是定义⼀些常⽤的软件可执⾏命令的⽬录,放⼊系统中,可以快捷的查询,⽽不需要每次都输⼊绝对路径1.为什么系统能够直接找到python解释器?[root@linux tmp]# which python #输出命令所在的绝对路径/bin/python2.学习linux的PATH,[root@linux tmp]# echo $PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin注意,PATH的路径,是有先后顺序的,从左往右,读取的3.如果编译安装了⼀个python3,装在了 /opt/python36/⽬录下,怎么添加PATH?#这个变量赋值的代码,就是添加python3到环境变量中了PATH="/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:"4.由于上述变量赋值的操作,只是临时⽣效,我们想永久的更改PATH的值,还得修改/etc/profilevim /etc/profile #打开⽂件,在⽂件末尾,添加PATH值的修改PATH="/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:"。

vim配置文件.vimrc详解

vim配置文件.vimrc详解

vim配置⽂件.vimrc详解"是否兼容VI,compatible为兼容,nocompatible为不完全兼容"如果设置为compatible,则tab将不会变成空格set nocompatible"设置⿏标运⾏模式为WINDOWS模式behave mswin"设置菜单语⾔set encoding=chineseset langmenu=zh_CN.UTF-8" =========" 功能函数" =========" 获取当前⽬录func GetPWD()return substitute(getcwd(), "", "", "g")endf" =====================" 多语⾔环境" 默认为 UTF-8 编码" =====================if has("multi_byte")set encoding=utf-8" English messages only"language messages zh_CN.utf-8if has('win32')language englishlet &termencoding=&encodingendifset fencs=utf-8,gbk,chinese,latin1set formatoptions+=mMset nobomb " 不使⽤ Unicode 签名if v:lang =~? '^\(zh\)\|\(ja\)\|\(ko\)'set ambiwidth=doubleendifelseechoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"endif" =========" 环境配置" =========" 保留历史记录set history=400" 命令⾏于状态⾏set ch=1set stl=\ [File]\ %F%m%r%h%y[%{&fileformat},%{&fileencoding}]\ %w\ \ [PWD]\ %r%{GetPWD()}%h\ %=\ [Line]\ %l,%c\ %=\ %P set ls=2 " 始终显⽰状态⾏" 制表符set tabstop=4"把tab转成空格"set expandtabset smarttabset shiftwidth=4set softtabstop=4" 状态栏显⽰⽬前所执⾏的指令set showcmd" ⾏控制set linebreakset nocompatibleset textwidth=80set wrap" ⾏号和标尺set numberset rulerset rulerformat=%15(%c%V\ %p%%%)" 控制台响铃:set noerrorbells:set novisualbell:set t_vb= "close visual bell" 插⼊模式下使⽤ <BS>、<Del> <C-W> <C-U>set backspace=indent,eol,start" 标签页set tabpagemax=20set showtabline=2" 缩进智能对齐⽅式set autoindentset smartindent" ⾃动重新读⼊set autoread"代码折叠"设置折叠模式set foldcolumn=4"光标遇到折叠,折叠就打开"set foldopen=all"移开折叠时⾃动关闭折叠"set foldclose=all"zf zo zc zd zr zm zR zM zn zi zN"依缩进折叠" manual ⼿⼯定义折叠" indent 更多的缩进表⽰更⾼级别的折叠" expr ⽤表达式来定义折叠" syntax ⽤语法⾼亮来定义折叠" diff 对没有更改的⽂本进⾏折叠" marker 对⽂中的标志折叠set foldmethod=syntax"启动时不要⾃动折叠代码set foldlevel=100"依标记折叠set foldmethod=marker"语法⾼亮syntax enablesyntax on"设置配⾊set guifont=Courier\ New:h12colorscheme desert"设定⽂件浏览器⽬录为当前⽬录set bsdir=buffer" ⾃动切换到⽂件当前⽬录set autochdir"在查找时忽略⼤⼩写set ignorecaseset incsearchset hlsearch"设置命令⾏的⾼度set cmdheight=2"显⽰匹配的括号set showmatch"增强模式中的命令⾏⾃动完成操作set wildmenu"使PHP识别EOT字符串hi link phpheredoc string"php语法折叠let php_folding = 1"允许在有未保存的修改时切换缓冲区set hidden"实现全能补全功能,需要打开⽂件类型检测"filetype plugin indent on"打开vim的⽂件类型⾃动检测功能"filetype on"保存⽂件的格式顺序set fileformats=dos,unix"置粘贴模式,这样粘贴过来的程序代码就不会错位了。

如何使用Vim进行代码编辑

如何使用Vim进行代码编辑

如何使用Vim进行代码编辑引言:Vim是一款高度可定制的文本编辑器,广泛用于程序员和系统管理员之间的代码编辑和文本处理任务。

它具有强大的功能和灵活的操作方式,可以大大提高编码效率。

本文将介绍如何在Vim 中进行代码编辑,并列举一些常用的技巧和快捷方式,帮助读者更好地使用Vim编辑器。

第一章:Vim基础1.1 安装和启动Vim- 下载和安装Vim的最新版本;- 运行终端,并输入“vim”命令启动Vim编辑器;- 进入Vim的命令模式并开始编辑代码。

1.2 Vim的基本模式- 命令模式:用于执行各种编辑命令;- 插入模式:用于实际编辑文本;- 可视模式:用于选择和操作文本块。

第二章:Vim编辑技巧2.1 移动光标的快捷方式- 使用h、j、k、l键分别向左、向下、向上、向右移动光标;- 使用gg和G快速在文件的开头和结尾之间切换;- 使用Ctrl+f和Ctrl+b在文本之间快速滚动。

2.2 文本编辑和修改- 使用i和a命令进入插入模式,用于在当前光标处开始编辑;- 使用o和O命令在当前行之后或之前插入新行并进入插入模式;- 使用d和p命令删除和粘贴文本。

2.3 撤销和重做操作- 使用u和Ctrl+r命令撤销和重做上一次操作;- 使用U快速撤销对整行的修改;- 使用.命令重复上一次的修改操作。

第三章:Vim的高级功能3.1 多文件编辑- 使用:sp和:vsp命令在同一个窗口中同时打开多个文件;- 使用Ctrl+w+h、Ctrl+w+j、Ctrl+w+k和Ctrl+w+l快捷方式在不同窗口之间切换;- 使用:bn和:bp命令在不同的缓冲区之间切换。

3.2 快速搜索和替换- 使用/和?命令分别进行向前和向后的快速搜索;- 使用:%s/old/new/g命令进行全局搜索和替换;- 使用:n和:N命令在不同的匹配项之间跳转。

3.3 定制Vim编辑器- 创建.vimrc文件并添加个人配置选项;- 定制快捷键和颜色方案;- 下载和安装插件以增强Vim的功能。

vim配置(vimplus)教程及问题

vim配置(vimplus)教程及问题

vim配置(vimplus)教程及问题An automatic configuration program for vim安装(github地址:, 欢迎star和fork)Mac OS X安装/usr/bin/ruby -e "$(curl -fsSL https:///Homebrew/install/master/install)"安装vimplus1 git clone https:///chxuan/vimplus.git ~/.vimplus2 cd ~/.vimplus3 ./install.shUbuntu版本要求ubuntu14.04及其以上64位系统。

安装vimplus(建议在普通⽤户下安装)1 git clone https:///chxuan/vimplus.git ~/.vimplus2 cd ~/.vimplus3 ./install.shCentos版本要求centos7及其以上64位系统。

安装vimplus(建议在普通⽤户下安装)1 git clone https:///chxuan/vimplus.git ~/.vimplus2 cd ~/.vimplus3 ./install.shArchLinux安装vimplus1 git clone https:///chxuan/vimplus.git ~/.vimplus2 cd ~/.vimplus3 ./install.sh个性化修改~/.vimrc.local⽂件内容,以启⽤个性化定制,可覆盖~/.vimrc中的设置。

插件列表插件说明cpp-mode提供⽣成函数实现、函数声明/实现跳转、.h .cpp切换等功能(I'm author )vim-edit⽅便的⽂本编辑插件(I'm author )change-colorscheme随⼼所欲切换主题(I'm author )prepare-code新建⽂件时,⽣成预定义代码⽚段(I'm author )vim-buffer vim缓存操作(I'm author )vimplus-startify vimplus开始页⾯(修改⾃mhinz/vim-startify)tagbar使⽤majutsushi/tagbar的v2.3版本,taglist的替代品,显⽰类/⽅法/变量vim-plug⽐Vundle下载更快的插件管理软件YouCompleteMe史上最强⼤的基于语义的⾃动补全插件,⽀持C/C++、C#、Python、PHP等语⾔NerdTree代码资源管理器vim-nerdtree-syntax-highlight NerdTree⽂件类型⾼亮nerdtree-git-plugin NerdTree显⽰git状态vim-devicons显⽰⽂件类型图标Airline可以取代powerline的状态栏美化插件auto-pairs⾃动补全引号、圆括号、花括号等LeaderF⽐ctrlp更强⼤的⽂件的模糊搜索⼯具ack强⼤的⽂本搜索⼯具vim-surround⾃动增加、替换配对符的插件vim-commentary快速注释代码插件vim-repeat重复上⼀次操作vim-endwise if/end/endif/endfunction补全tabular代码、注释、表格对齐vim-easymotion强⼤的光标快速移动⼯具,强⼤到颠覆你的插件观incsearch.vim模糊字符搜索插件markdown-preview markdown实时预览vim-fugitive集成Gitgv显⽰git提交记录vim-slash优化搜索,移动光标后清除⾼亮echodoc补全函数时在命令栏显⽰函数签名vim-smooth-scroll让翻页更顺畅clever-f.vim强化f和F键github-complete.vim Emoji 补全vimcdoc vim中⽂⽂档快捷键以下是部分快捷键,更详细的快捷键请查阅vimplus帮助⽂档。

VI基本配置

VI基本配置
function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "/<Right>"
else
return a:char
endif
endf
下载tabbar.vim 插件,将其拷贝到/usr/share/vim/vim72/plugin/ 目录下。
sp file.xxx
注意: 在打开新文件时,光标一定要处在主编辑界面中,这样才能保证标签的位置的位置合适。
关闭标签页使用:bd file.xxx
6. a.vim插件安装
下载tabbar.vim 插件,将其拷贝到/usr/share/vim/vim72/plugin/ 目录下。
E.g. if you are editing foo.c and need to edit foo.h simply execute :A and
设置C/C++ 语言的具体缩进方式(以我的windows 风格为例):
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
如果想在左侧显示文本的行号,可以用以下语句:
set nu
最后,如果没有下列语句,就加上吧:
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>

Vim-详细配置

Vim-详细配置

Vim 或Gvim 详细配置配置一览:1、括号自动匹配[ 支持所有的括号类型以及引号等]2、一键添加语法模板、作者、时间等信息3、单源文件一键编译、运行[ 已配置支持所有主流编程语言]4 、代码补全、函数跳转[ 由ctags 实现]5 、语法结构智能补全[ 由snipMate 实现]6、在Vim 里写博客、Wiki [ 由vimWiki 实现]7 、添加了Vim 文档的简体中文版8、更多功能详见配置代码,本处提供配置文件和自定义配置文件夹的下载,下载链接请见本文末尾经过着色的配置文件:使用说明:如果想图省事,那你就重新安装你的Vim 到D:\Apps\Gvim ,然后执行以下步骤:1 、把整个vimfiles 目录复制到D:\Apps\Gvim 目录下覆盖原有目录2、将ctags.exe 、cscope.exe 、unzip.exe 复制到D:\Apps\Gvim\vim73 目录3 、将D:\Apps\Gvim\vim73 添加进环境变量4、把_vimrc 文件复制到D:\Apps\Gvim 目录下覆盖原有文件[ 有完整版和无Vimwiki 版,建议使用后一版本] [ 如需使用wiki 功能则可使用完整版,并参考完成环境的配置] 配置文件中,凡涉及具体路径信息的请更换为你自己本机实际路径,凡涉及姓名、邮箱的请更换为你自己的姓名、邮箱ctags 使用方法简要介绍:比如我想添加C/C++ 语言的代码补全,并能在函数调用间实现跳转,请执行以下步骤:1 、首先确保系统能够找到ctags.exe ,也就是ctags.exe 添加到了系统环境变量2、以MinGW 为例,到你编译器安装目录的include 目录 (比如C:\MinGW\include )执行ctags -R --languages=c,c++ ,这将在include 目录下生成一个tags 文件3 、在_vimrc 文件中添加以下一行:set tags+=C:\MinGW\include\tags4、以后编辑C/C++ 源文件时,按Ctrl + P 即可拥有C/C++ 的代码提示。

Linux基本命令vim命令(一)

Linux基本命令vim命令(一)

Linux基本命令vim命令(⼀)vim的三种⼯作模式命令模式、输⼊模式和编辑模式的相互转换,如图命令模式:使⽤ Vim 编辑⽂件时,默认处于命令模式。

在此模式下,可以使⽤上、下、左、右键或者 k、j、h、l 命令进⾏光标移动,还可以对⽂件内容进⾏复制、粘贴、替换、删除等操作。

输⼊模式:在输⼊模式下可以对⽂件执⾏写操作。

进⼊输⼊模式的⽅法是输⼊ i、a、o 等插⼊命令,编写完成后按 Esc 键即可返回命令模式。

编辑模式:如果要保存、查找或者替换⼀些内容等,就需要进⼊编辑模式。

编辑模式的进⼊⽅法为:在命令模式下按" :"键,Vim 窗⼝的左下⽅会出现⼀个" :"符号后,这时就可以输⼊相关的指令进⾏操作了。

操作完按Enter键执⾏,指令执⾏后会⾃动返回命令模式。

使⽤Vim打开⽂件为了避免误操作我们将/etc下的profile复制到/tmp下进⾏操作,命令如下:[root@localhost /]# cp /etc/profile /tmp/profile.vim使⽤vim 进⼊profile⽂件的命令模式操作功能描述vim profile.vim只是打开⽂件打开⽂件后,直接定位指定⾏数处,vim +20 /tmp/profile.vim例如,打开 /tmp/profile.vim⽂件时直接进⼊第 20 ⾏打开⽂件后,直接定位指定⾏数处,vim +/future /tmp/profile.vim例如,打开 /tmp/profile.vim⽂件时直接定位到"future"字符串所在⾏打开⽂件后,接下来开始对⽂件进⾏操作。

进⼊输⼊命令模式从命令模式进⼊输⼊模式可以按下 I、i、A、a 、O、o、等键来完成,不同的键只是光标所处的位置不同⽽已。

当进⼊输⼊模式后,在 Vim 编辑窗⼝的左下⾓会出现"INSERT"标志,这就代表我们可⾏写⼊操作了,在vim中光标是停留在字符上的,例如在光标后⾯插⼊就是指在光标所在的字符的后⾯插⼊;操功能描述作i在当前光标所在位置插⼊输⼊的⽂本,光标后的⽂本相应向右移动I在光标所在⾏的⾏⾸插⼊输⼊的⽂本,⾏⾸是该⾏的第⼀个⾮空⽩字符,相当于光标移动到⾏⾸执⾏ i 命令a在当前光标所在位置之后插⼊输⼊的⽂本A在光标所在⾏的⾏尾插⼊输⼊的⽂本,相当于光标移动到⾏尾再执⾏ a 命令o在光标所在⾏的下⾯插⼊新的⼀⾏。

vim操作

vim操作

∙如果该文件存在,文件被打开并显示内容∙如果该文件不存在,当编辑后第一次存盘时创建它∙如果目录不存在,将无法保存编辑内容2. vim的三种模式vim是一款模式编辑器,对vim的操作进行在vim的三种模式之上。

所谓三种模式分别是:1.命令(Normal)模式,默认模式,主要作用是移动光标,剪切/粘贴文本。

2.插入(Insert)或编辑模式,主要作用是修改文本。

3.扩展命令(extended command )模式,主要作用是保存,退出等。

所以想要娴熟操作vim,在三种模式之间的切换是必不可少的。

vim的模式切换是以命令模式为基础的,也就是打开文件时的第一个界面,vim打开文件默认是在命令模式界面。

所以无论你是要进入扩展模式还是插入模式,都需要在命令模式进行切换,扩展模式和插入模式之间是不能直接切换的。

vim三种主要模式之间的切换:3.命令模式1.命令模式进入插入模式2.命令模式光标间跳转2.1字符间跳转:2.2单词间跳转:2.3当前页跳转:2.4行首行尾跳转:2.5行间移动:2.6句间移动2.7 段落间移动:3.命令模式翻屏操作4.命令模式编辑操作4.1字符编辑:4.2替换命令(r, replace)4.3删除命令(d,delete)4.4复制命令(y, yank):4.5粘贴命令(p, paste):4.6改变命令(c, change)4.7撤销更改4.2扩展命令模式:地址定界在扩展命令模式下进行地址定界方法一:利用行数进行定界格式|:开始#,结束#4.3扩展命令模式:查找查找命令:4.4扩展命令模式:查找并替换扩展命令模式下,在命令提示符后面输入字母―s‖,然后按格式输入要查找和替换的内容,便可进行查找替换。

格式:s/要查找的内容/替换为的内容/修饰符格式项作用要查找的内容分割符后输入要查找的内容,可使用模式,也就是正则表达式。

替换为的内容不能使用模式,但可以使用\1, \2, …等后向引用符号;还可以使用―&‖引用前面查找时查找到的整个内容修饰符:i 忽略大小写g 全局替换;默认情况下,每一行只替换第一次出现gc 全局替换,每次替换前询问如果查找和替换的内容中包含路径,再使用"/"作为分割符就不方便了,这时可以使用@、#等特殊符号来做分割符。

vim编辑器的使用

vim编辑器的使用

vim编辑器的使⽤这⾥主要介绍vim编辑器的⼀些常⽤命令和⽅法,主要包括: vim编辑器的基本使⽤,包括vi的启动与退出、⼯作模式的切换、光标的移动、屏幕的滚动、⽂本的插⼊与删除、复制与粘帖、查找与替换等。

vim编辑器之程序编辑,包括程序设计中光标的跳转、关键字的补全,以及代码的缩进等。

希望通过本节的学习,能够基本掌握vi编辑器的使⽤⽅法和相关技巧,能够独⽴完成程序源代码的编辑和修改。

1、 vim编辑器的基本使⽤ vim编辑器是Linux系统下的标准编辑器。

虽然命令繁多复杂,并且绝⼤多数功能的输⼊都依靠键盘来完成,但如果我们熟悉掌握之后就会发现vim编辑器的功能、效率等都是其他图形界⾯编辑器⽆法⽐拟的,下⾯让我们来揭开它的神秘⾯纱。

1.1、 vim的启动 在终端输⼊命令vim,后⾯接着输⼊想要创建或编辑的⽂件名,即可进⼊vim编辑器。

$ vim test.c 如果vi命令后⾯所输⼊的⽂件不存在,则系统会⾃动创建⼀个以该字符串命名的⽂本⽂件。

如上图,光标停留在左上⽅,由于新建⽂件中没有任何内容,所以每⼀⾏的开头都为波浪线。

窗⼝的底部为状态栏,显⽰当前编辑⽂件的相关信息。

打开⽂件后,光标停留在屏幕左上⽅。

状态栏显⽰了当前编辑⽂件的⽂件名、⾏数以及字符数等信息。

vi命令打开⽂件时还可以带参数,这些参数⽤于修正vi的打开⽅式,主要包括如下:-R :以只读⽅式打开⽂件。

如果只需阅读⽂件内容⽽不想对其进⾏修改时,可以使⽤这个参数,以防对⽂件的误操作,-x:该参数可以在保存⽂件时对其进⾏加密,以后每次打开都需要输⼊密钥,否则将出现乱码。

1.2 、vim的⼯作模式 vim有3种⼯作模式:普通模式、编辑模式和命令模式,这3种模式之间可以相互切换。

(1)、普通模式 由Shell进⼊vim编辑器时,⾸先进⼊普通模式。

在普通模式下,从键盘输⼊任何字符都被当作命令来解释。

普通模式下没有任何提⽰符,当输⼊命令时⽴即执⾏,不需要回车,⽽且输⼊的字符不会在屏幕上显⽰出来。

Vim---配置实用的.vimrc文件

Vim---配置实用的.vimrc文件

Vim---配置实⽤的.vimrc⽂件配置⾃⼰电脑的vim,配置⼀个根据个⼈习惯使⽤的.vimrc⽂件。

我的有以下功能等,读者可以根据⾃⼰的个⼈喜好去配置⾃⼰的vim。

1.⾃动插⼊⽂件头,新建C、C++源⽂件时⾃动插⼊表头:包括⽂件名、作者、联系⽅式、建⽴时间等。

(我个⼈是不太喜欢新建源⽂件时⾃动插⼊表头⽂件名,所以将其注释,读者可根据需求⾃⾏更改)2.按“F2”可以直接消除代码中的空⾏3.“F3”可列出当前⽬录⽂件,打开树状⽂件⽬录4.⽀持⿏标选择、⽅向键移动5.代码⾼亮,⾃动缩进,显⽰⾏号,显⽰状态⾏(我个⼈不太喜欢显⽰⾏号,显⽰状态⾏,读者可根据需求⾃⾏修改)6.按“Ctrl + P”可⾃动补全7.[]、{}、()、""、' '等都⾃动补全8.其他功能读者可以研究以下⽂件下⾯是在Linux下配置⾃⼰的vim的⽅法:⼀:1.⾸先打开linux的终端,使⽤ su root命令切换⾄root权限。

2.使⽤ls -al命令会打开当前的所有⽂件包括隐藏⽂件,如下图,找到.vimrc⽂件,如果没有这个⽂件,可以去创建⼀个.vimrc⽂件。

3.之后打开.vimrc⽂件将下⾯的代码粘贴进去,然后根据个⼈需求去修改为适合⾃⼰的.vimrc⽂件,保存退出,然后你可以⽤vim创建⼀个⽂件看⼀下效果,然后再根据个⼈需求⾃⾏修改。

这个⽅法配置的.vimrc⽂件可以由⽤户权限去⽤vim创建⽂件进⾏编辑,root权限⽤vim创建的⽂件⽆法达到你配置的效果。

⼆:如果你想要你配置的⽂件达到⽆论是⽤户权限还是root权限都可以⽤vim创建的⽂件达到你配置的⽂件的效果,可以⽤如下⽅法。

1.⾸先你转到根⽬录,在根⽬录下有个 etc 的⽂件夹,然后进到etc的⽬录下,然后列出当前的所有⽂件。

2.在当前的⽬录中的所有⽂件你会找到⼀个vimrc的⽂件,然后打开该⽂件将代码粘贴进去,然后根据个⼈需求去修改为适合⾃⼰的vimrc⽂件,保存退出,然后此时⽆论你⽤root权限还是⽤户权限⽤vim去创建⽂件都可以达到你配置的效果(提醒⼀下,如果你配置vimrc⽂件出错时,建议你在进⼊etc/⽬录下时,在修改vimrc⽂件之前可以先保存⼀份vimrc⽂件,之后再修改vimrc,防⽌你出错时还可以⽤备份的vimrc⽂件)。

ViVim基本用法

ViVim基本用法

ViVim基本⽤法Vi/Vim是Linux中⼀款功能强⼤的编辑器,vi是Visual Interface的缩写,即可视化接⼝,vim是vi iMprove的缩写,即 vi的增强版(具有语法着⾊功能)。

它在Linux上的地位就仿佛Edit程序在DOS上⼀样。

它可以执⾏输出、删除、查找、替换、块操作等众多⽂本操作,⽽且⽤户可以根据⾃⼰的需要对其进⾏定制。

Vi不是⼀个排版程序,它不像Word或WPS那样可以对字体、格式、段落等其他属性进⾏编排,它只是⼀个⽂本编辑程序。

vi没有菜单,只有命令,且命令繁多。

1.Vim配置⽂件全局vim配置⽂件:/etc/vimrc个⼈vim配置⽂件:~/.vimrc当我们需要设置Vim的部分功能时,我们可以通过修改配置⽂件来实现!例如:永久添加⾏号--------->在配置⽂件中加上set nu2.Vim三级模式及相互切换 三种模式 命令模式(默认):刚进⼊vim的时候,默认就是命令模式,可以复制⾏,删除⾏等。

输⼊模式:可以输⼊内容。

末⾏模式:在最下边,除编辑模式,可以输⼊诸多管理员命令命令⾏模式 任何时候,不管⽤户处于何种模式,只要按⼀下ESC键,即可使Vi进⼊命令模式;我们在shell环境(提⽰符为$)下输⼊启动Vi命令,进⼊编辑器时,也是处于该模式下。

在该模式下,⽤户可以输⼊各种合法的Vi命令,⽤于管理⾃⼰的⽂档。

此时从键盘上输⼊的任何字符都被当做编辑命令来解释,若输⼊的字符是合法的Vi命令,则Vi在接受⽤户命令之后完成相应的动作。

但需注意的是,所输⼊的命令并不在屏幕上显⽰出来。

若输⼊的字符不是Vi的合法命令,Vi会响铃报警。

⽂本输⼊模式 在命令模式下输⼊插⼊命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进⼊⽂本输⼊模式。

在该模式下,⽤户输⼊的任何字符都被Vi当做⽂件内容保存起来,并将其显⽰在屏幕上。

在⽂本输⼊过程中,若想回到命令模式下,按键ESC即可。

Vim安装与配置

Vim安装与配置

Vim安装vim比vi的功能强大,但ubuntu里面只有vi和vim.tiny,所以要自己安装。

一、在命令行输入vi再按tab,可以看到:二、键入命令:sudo apt-get install vim-gtk,然后输入y,就可以自己下载安装vim了。

Tip:前提是保证虚拟机能连接到网络,否则会出现E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?的错误A、共享主机无线网络的方法:1、在主机上运行cmd,输入命令services.msc,找到VMvare Nat Service和VMvare DHCP Service右击开启。

2、右击虚拟机右下部的netwoark adapters点击settings,出现如下窗口,选择NAT:使其共享主机IP (注意:每一次需要网络连接的时候都要手动打开上述两个服务器。

)连接到网络后重复步骤二,完成后键入命令vim,显示如下则vim安装成功。

三、安装好vim,就可以开始配置了,使用命令sudoapt-get install vim-script vim-doc,下载文档和插件。

下载过程中如果还出现如下错误,解决办法:清除catche里的缓存使用命令sudo rm/var/catche/apt/archieves/partial/*,在使用命令sudo apt-get clean四、在/home/usr(你的用户名,我的是hagog)下,使用命令gedit .vimrc,在新建的文件下输入配置信息,那你的vim就有高亮,缩进,显示行号的功能" This line should not be removed as it ensures that various options are" properly set to work with the Vim-related packages available in Debian.debian.vim" Uncomment the next line to make Vim more Vi-compatible" NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changesnumerous" options, so any other options should be set AFTER setting 'compatible'.set nocompatible" Vim5 and later versions support syntax highlighting. Uncommenting the " following enables syntax highlighting by default.if has("syntax")syntax on " 语法高亮endifcolorscheme ron " elflord ron peachpuff default 设置配色方案,vim自带的配色方案保存在/usr/share/vim/vim72/colors目录下" detect file typefiletype onfiletype plugin on" If using a dark background within the editing area and syntax highlighting" turn on this option as wellset background=dark" Uncomment the following to have Vim jump to the last position when" reopening a fileif has("autocmd")au BufReadPost *if line("'\"") > 1 &&line("'\"")<= line("$")| exe "normal! g'\"" | endif"have Vim load indentation rules and plugins according to the detected filetypefiletype plugin indent onendif" The following are commented out as they cause vim to behave a lot " differently from regular Vi. They are highly recommended though."set ignorecase "搜索模式里忽略大小写"set smartcase "如果搜索模式包含大写字符,不使用'ignorecase'选项。

vim配置显示行号和语法高亮即.vimrc文件的配置

vim配置显示行号和语法高亮即.vimrc文件的配置

vim配置显⽰⾏号和语法⾼亮即.vimrc⽂件的配置在终端下使⽤vim进⾏编辑时,默认情况下,编辑的界⾯上是没有显⽰⾏号、语法⾼亮度显⽰、智能缩进等功能的。

为了更好的在vim下进⾏⼯作,需要⼿动设置⼀个配置⽂件:.vimrc。

在启动vim时,当前⽤户根⽬录下的.vimrc⽂件会被⾃动读取,该⽂件可以包含⼀些设置甚⾄脚本,所以,⼀般情况下把.vimrc ⽂件创建在当前⽤户的根⽬录下⽐较⽅便,即创建的命令为:$vi ~/.vimrc设置完后$:x 或者 $wq进⾏保存退出即可。

下⾯给出⼀个例⼦,其中列出了经常⽤到的设置,详细的设置信息请参照参考资料:“双引号开始的⾏为注释⾏,下同“去掉讨厌的有关vi⼀致性模式,避免以前版本的⼀些bug和局限set nocompatible“显⽰⾏号set nummber“检测⽂件的类型filetype on“记录历史的⾏数set history=1000“背景使⽤⿊⾊set background=dark“语法⾼亮度显⽰syntax on“下⾯两⾏在进⾏编写代码时,在格式对起上很有⽤;“第⼀⾏,vim使⽤⾃动对起,也就是把当前⾏的对起格式应⽤到下⼀⾏;“第⼆⾏,依据上⾯的对起格式,智能的选择对起⽅式,对于类似C语⾔编“写上很有⽤set autoindentset smartindent“第⼀⾏设置tab键为4个空格,第⼆⾏设置当⾏之间交错时使⽤4个空格set tabstop=4set shiftwidth=4“设置匹配模式,类似当输⼊⼀个左括号时会匹配相应的那个右括号set showmatch“去除vim的GUI版本中的toolbarset guioptions-=T“当vim进⾏编辑时,如果命令错误,会发出⼀个响声,该设置去掉响声set vb t_vb=“在编辑过程中,在右下⾓显⽰光标位置的状态⾏set ruler“默认情况下,寻找匹配是⾼亮度显⽰的,该设置关闭⾼亮显⽰set nohls“查询时⾮常⽅便,如要查找book单词,当输⼊到/b时,会⾃动找到第⼀“个b开头的单词,当输⼊到/bo时,会⾃动找到第⼀个bo开头的单词,依“次类推,进⾏查找时,使⽤此设置会快速找到答案,当你找要匹配的单词“时,别忘记回车set incsearch“修改⼀个⽂件后,⾃动进⾏备份,备份的⽂件名为原⽂件名加“~“后缀if has(“vms”)set nobackupelseset backupendif如果去除注释后,⼀个完整的.vimrc配置信息如下所⽰:复制代码代码如下:set nocompatibleset nummberfiletype onset history=1000set background=darksyntax onset autoindentset smartindentset tabstop=4set shiftwidth=4set showmatchset guioptions-=Tset vb t_vb=set rulerset nohlsset incsearchif has(“vms”)set nobackupelseset backupendif如果设置完后,发现功能没有起作⽤,检查⼀下系统下是否安装了vim-enhanced包,查询命令为:$rpm –q vim-enhanced参考资料:1.vim的完全翻译版在下⾯连接处可以找到可以下栽其中的⼀个PDF版本,⾥⾯介绍的很详细,强烈推荐:)2.更详细的vim信息可以访问:3.⼀个带有英⽂注释的.vimrc例⼦关于vi颜⾊的问题,上⽹找了若⼲篇⽂章才搞定,⾃⼰⼩结⼀下。

gvim配置文件

gvim配置文件

gvim配置⽂件vimrc配置source $VIMRUNTIME/vimrc_example.vimsource $VIMRUNTIME/mswin.vimbehave mswin"设置⽂件的代码形式 utf8set encoding=utf-8set termencoding=utf-8set fileencoding=utf-8set fileencodings=ucs-bom,utf-8,chinese,cp936"vim的菜单乱码解决source $VIMRUNTIME/delmenu.vimsource $VIMRUNTIME/menu.vim"vim提⽰信息乱码的解决language messages zh_CN.utf-8filetype onfiletype plugin indent oncolorscheme desert "配⾊⽅案set helplang=cn "设置中⽂帮助set history=500"保留历史记录set guifont=Microsoft\ Yahei\ Mono:h12 "设置字体为Monaco,⼤⼩10set tabstop=4"设置tab的跳数set expandtabset backspace=2"设置退格键可⽤set nu! "设置显⽰⾏号"set wrap "设置⾃动换⾏"set nowrap "设置不⾃动换⾏"set linebreak "整词换⾏,与⾃动换⾏搭配使⽤"set list "显⽰制表符set autochdir "⾃动设置当前⽬录为正在编辑的⽬录"set hidden "⾃动隐藏没有保存的缓冲区,切换buffer时不给出保存当前buffer的提⽰set scrolloff=5"在光标接近底端或顶端时,⾃动下滚或上滚"Toggle Menu and Toolbar "隐藏菜单栏和⼯具栏"set guioptions-=m"set guioptions-=Tset showtabline=2"设置显是显⽰标签栏set autoread "设置当⽂件在外部被修改,⾃动更新该⽂件set mouse=a "设置在任何模式下⿏标都可⽤set nobackup "设置不⽣成备份⽂件set noundofileset noswapfile"==========================="查找/替换相关的设置"===========================set hlsearch "⾼亮显⽰查找结果set incsearch "增量查找"==========================="状态栏的设置"==========================="set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%] "显⽰⽂件名:总⾏数,总的字符数set ruler "在编辑过程中,在右下⾓显⽰光标位置的状态⾏"==========================="代码设置"===========================syntax enable "打开语法⾼亮syntax on "打开语法⾼亮set showmatch "设置匹配模式,相当于括号匹配set smartindent "智能对齐"set shiftwidth=4 "换⾏时,交错使⽤4个空格set autoindent "设置⾃动对齐set ai! "设置⾃动缩进"set cursorcolumn "启⽤光标列set cursorline "启⽤光标⾏"set guicursor+=a:blinkon0 "设置光标不闪烁set fdm=indent "注册表配置,编写vim.reg⽂件Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Applications\gvim.exe][HKEY_CLASSES_ROOT\Applications\gvim.exe\shell]@=""[HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\edit]@=""[HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\edit\command]@="\"C:\\Program Files (x86)\\Vim\\vim81\\gvim.exe\" -p --remote-tab-silent \"%1\"" [HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\open][HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\open\command]@="\"C:\\Program Files (x86)\\Vim\\vim81\\gvim.exe\" -p --remote-tab-silent \"%1\""。

vim配置大全

vim配置大全

" fileencodings: Vim 启动时会按照它所列出的字符编码方式逐一探测即将打开的文
" 件的字符编码方式,并且将 fileencoding 设置为最终探测到的字符编码方式。因
" 此最好将 Unicode 编码方式放到这个列表的最前面。
" 拉丁语系编码方式 latin1 最好去掉。因为如果有 latin-1,在文件中有多种编码
iab #i #include <<Esc>mxa><Esc>`xa<C-R>=Eatchar('\s')<CR>
iab #d #define
" C 关键字
iab if( if (<Esc>mxa)<CR>{<CR>}<Esc>`xa<C-R>=Eatchar('\s')<CR>
set whichwrap=b,s,<,>,[,] " 设定退格键、空格键以及左右方向键在行首行尾时的
" 行为,不影响 h 和 l 键
set wrap " 自动换行显示
syntax on " 自动语法高亮
" 设置命令行和状态栏
set autoindent cindent cinoptions=g0
" 打开自动缩进和 C 语言风格的缩进模式,
" 定制 C 语言缩进风格
set backspace=indent,eol,start
" 不设定的话在插入状态无法用退格键和 Delete
" 键删除回车符

VIM 使用教程

VIM 使用教程

VIM 编辑器VIM 和Emacs 是Linux 上最知名和最受程序员喜爱的两种编辑器。

VI追求的是快捷启动程序迅速,编辑文本高效,功能专注,而Emacs追求的是功能的丰富强大以及集成带来的方便,在Emacs里头可以发邮件,上新闻组,听mp3,浏览网页,玩游戏,几乎可以login->emacs—〉logout了,VI和Emacs都是程序员的编辑器,相比而言,Emacs更是提供了一种程序员的生活氛围。

VIM引入了很多模式,主要的有如下几种:➢Normal mode 即通常所谓的命令模式,在此模式使用a、i、A、I、o、O等进入Insert mode➢Insert mode 即通常所谓的编辑模式,在此模式使用ESC进入Normal mode或者Ctrl-c临时进入Normal mode➢Command—line mode 命令行模式,在Normal mode下按冒号进入,按ESC取消执行命令或者回车执行命令,然后回到Normal mode。

➢Visual mode 即选择模式(注意跟用鼠标选择不同),用v,V,C-v或C-q进入➢Select mode 鼠标选择➢Replace mode 在Normal mode下按R进入,按ESC返回Normal mode,相当于Windows下命令行中按Insert键进入的覆盖模式1. 基本操作1) 移动光标(Normal mode)可以用下面的键来移动光标H (左), j (下),k (上),l (右)2) 删除(Normal mode)当你想删除一个字符时,把光标移动到它上面,然后按下x键,它就会消失。

dd命令会删除当前所在的一行内容。

dw 删除当前光标所在字符d$删除从当前光标所在位置到当前行结尾的所有内容d^ 删除从当前光标所在位置到行首的所有内容3) 合并行(Normal mode)使用J命令可以合并当前行和下一行4) 撤消和重做(Normal mode)按下u会撤消上一步的操作,U(大字)是一个特殊的撤消键,它会撤消在在最后编辑的行上所作的所有操作.如果撤消的次数过多,按下Ctrl+r 会重做上次撤消的操作5) 复制和粘贴(Normal mode)yy 复制游标所在行整行。

vim配置大全

vim配置大全
set showtabline=0 " 隐藏Tab栏
endif
"编辑vim配置文件
if has('unix')
set fileformats=unix,dos,mac
nmap <Leader>e :tabnew $HOME/.vimrc<CR>
let $VIMFILES = $HOME.'/.vim'
else
set fileformats=dos,unix,mac
nmap <Leader>e :tabnew $VIM/_vimrc<CR>
let $VIMFILES = $VIM.'/vimfiles'
endif
" Alt-Space is System menu
autocmd FileType java,c,cpp,cs vmap <C-o> <ESC>'<o/*<ESC>'>o*/
autocmd FileType html,text,php,vim,c,java,xml,bash,shell,perl,python setlocal textwidth=100
" minibufexpl插件的一般设置
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1

Vim的编码详解和中文环境设置

Vim的编码详解和中文环境设置

Vim的编码详解和中文环境设置很惭愧,作为vim的忠实用户,自从2年多前从help里知道了:edit++enc=xxx这个命令之后,我就没有去了解过vim的编码设定了。

这些年来,我遇到编码出错,总是:edit++enc=xxx。

今天:help了一下encoding等,终于搞清楚了相关的各个变量的作用和关系。

简单的说,有三个设置。

(我下面基本以中文环境来作为说明)1) 在.vimrc或者_vimrc里加入setfileencodings=utf-8,gb2312,gbk,gb18030,big5这句就基本OK了。

vim会依次使用这些编码对文件进行编码的猜测。

2) 如果还是不行,那么在打开文件之后,用:edit++enc=gbk这个命令强制使用某个编码。

3) 如果依然不行,请检查你的$LANG环境变量。

下面是详细的说明。

vim编码主要涉及三个变量。

encodingvim的内部编码,包括内存数据的编码,vim配置文件的编码。

encoding取自变量$LANG,如果$LANG为空,则取latin1。

这个编码应该和你的终端编码保持一致的。

fileencoding文件的编码。

vim在加载文件的时候,会把这个编码转换成encoding参数的编码。

同样的,保存文件的时候,内存的编码会由encoding转变为fileencoding。

需要注意的是,在vimrc里设置这个参数,不会起作用。

因为打开一个文件的时候,fileencodings或者encoding会覆盖fileencoding。

关于这个,可以看下面提到的打开文件流程。

fileencodings=utf-8,gbk,gb2312vim在加载一个文件的时候,会依次尝试使用fileencodings里的编码作为fileencoding。

如果全部失败,那么vim会使用encoding作为fileencoding。

另外,如果vim使用了错误的编码,可以使用edit++enc=gbk这个命令。

Linux_vim编辑器使用总结

Linux_vim编辑器使用总结

Linux_vim编辑器使⽤总结⼀、vi编辑器 vim是linux下的⼀个纯⽂本编辑器,是vi编辑器的增强版。

它相较于vi⽽⾔,有⽂本字体颜⾊显⽰等特点,有助于对⽂本编辑。

vim使⽤⼩技巧:直接输⼊vi命令后,使⽤的是vim编辑器 解决思路:使⽤“alias”别名 设置⽅法1: 使⽤命令如下:alias vi=’vim’(临时有效) 设置⽅法2:将 alias vi=’vim’ 命令放⼊环境变量配置⽂件(~/.bashrc)中永久有效 Step1:vi ~/.bashrc Step2:在⽂件中添加 alias vi=’vim’ 命令 Step3:source ~/.bashrc(⽴即加载修改后的设置,才能使之⽣效)⼆、vim基本使⽤1、vim的⼯作模式:⼀般模式、编辑模式、命令⾏模式2、三种模式的简要说明 ⼀般模式:主要使⽤快捷键的模式,如可以上下左右按键移动光标、删除字符或删除整⾏、复制、粘贴等操作; 使⽤vim打开⽂件即可进⼊⼀般模式。

编辑模式:主要⽤于⽂本编辑,和记事本类似,⽤于⽂本输⼊。

从⼀般模式进⼊编辑模式:a、A、i、I、o、O 从编辑模式退出,进⼊⼀般模式:按“Esc”键即可 命令⾏模式:可以将光标移动到最底下那⼀⾏,可以进⾏⽂件内搜索、读取、存盘、⼤量取代字符、退出vim编辑器、显⽰⾏号等。

进⼊命令⾏后,输⼊命令后按回车键运⾏并结束命令进⼊⼀般模式;或按“Esc”键退出命令⾏模式。

从⼀般模式进⼊命令⾏模式:“:”、“/”、“?”3、⼀般模式下的操作3.1、移动光标的⽅法 1)、上下左右移动光标: 使⽤技巧: 若想要进⾏多次移动,可以使⽤“数字+hjkl”的⽅式操作,如: 向下移动30⾏,可以使⽤“30j”的组合按键,即加上想要进⾏的次数(数字)后,按下动作即可。

2)、光标移动到⽂件头或尾 使⽤技巧:使⽤“nG”,可移动到⽂件的第n⾏(n表⽰数字) 3)、移动到⾏⾸或⾏尾 说明:“^”键在英⽂输⼊下按“shift+6”;“$”键在英⽂输⼊下按“shift+4” 4)、移动到指定⾏ 说明:n表⽰数字3.2、删除、剪切、粘贴 1)、删除、剪切 补充说明:dd快捷键既是删除,也是剪切。

linuxvim编辑器的用法

linuxvim编辑器的用法

linuxvim编辑器的用法linuxvim编辑器是Linux系统中常用的文本编辑器,它可以在纯文本环境下完成文本文件的编辑、创建等功能。

本文主要介绍使用linux vim编辑器时应遵循的操作要求。

要想使用vim进行文件编辑,首先要将其安装到Linux系统中。

在终端中输入以下命令即可完成安装:sudo apt-get install vim安装完成后,可以在终端中输入vim -version检查一下版本号,默认安装的是Vim 7.2版本。

二、 vim编辑器基本命令1、打开文件:在终端中输入:vim file.txt即可打开指定的文件;2、缩进:可以使用键盘上数字键上的<和>来完成缩进操作;3、查找:可以输入 /string 可以查找指定文本,输入n可以跳转到下一个指定文本处;4、换行:要将光标移动到一行的结尾处,可以使用键盘上的$符号;5、替换:替换命令为::s/old/new/g,其中old是原有的字符串,new是新的字符串;6、保存:使用快捷键 :w即可将当前文件保存;1、^:代表当前行的开始位置;4、*:表示上一次操作的文本;5、%:表示所有内容(以文件头到文件尾);6、#:表示上一条搜索的字符串;7、@:表示上一次的替换内容;8、[和]:表示上一次的复制状态;9、[:表示左端搜索;1、复制粘贴:选择你要复制的文本,使用shift+V粘贴到要复制的位置,可以复制多行文本;2、跳转行:在终端中输入:<num>:<action>,可以将光标跳转到第num行,之后可以执行自定义的操作;3、跳转列:输入c$可以将光标跳转到行尾,输入0可以将光标跳转到行首;4、删除:输入dd可以删除当前行文本,输入x可以删除光标下的一个字符;6、跳转标签:可以使用将指定标签用大写字母T来指向,如:CT可以跳转到标签处。

以上就是用linux vim编辑器时应遵循的操作步骤以及常用功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Vim或Gvim详细配置配置一览:1、括号自动匹配[支持所有的括号类型以及引号等]2、一键添加语法模板、作者、时间等信息3、单源文件一键编译、运行[已配置支持所有主流编程语言]4、代码补全、函数跳转[由ctags实现]5、语法结构智能补全[由snipMate实现]6、在Vim里写博客、Wiki [由vimWiki实现]7、添加了Vim文档的简体中文版8、更多功能详见配置代码,本处提供配置文件和自定义配置文件夹的下载,下载链接请见本文末尾经过着色的配置文件:--------------------------------------------------使用说明:如果想图省事,那你就重新安装你的Vim到D:\Apps\Gvim,然后执行以下步骤:1、把整个vimfiles目录复制到D:\Apps\Gvim目录下覆盖原有目录2、将ctags.exe、cscope.exe、unzip.exe复制到D:\Apps\Gvim\vim73目录3、将D:\Apps\Gvim\vim73添加进环境变量4、把_vimrc文件复制到D:\Apps\Gvim目录下覆盖原有文件[有完整版和无Vimwiki版,建议使用后一版本] [如需使用wiki功能则可使用完整版,并参考完成环境的配置]配置文件中,凡涉及具体路径信息的请更换为你自己本机实际路径,凡涉及姓名、邮箱的请更换为你自己的姓名、邮箱------------------------ctags使用方法简要介绍:比如我想添加C/C++语言的代码补全,并能在函数调用间实现跳转,请执行以下步骤:1、首先确保系统能够找到ctags.exe,也就是ctags.exe添加到了系统环境变量2、以MinGW为例,到你编译器安装目录的include目录(比如C:\MinGW\include)执行ctags -R --languages=c,c++,这将在include目录下生成一个tags文件3、在_vimrc文件中添加以下一行:set tags+=C:\MinGW\include\tags4、以后编辑C/C++源文件时,按Ctrl + P即可拥有C/C++的代码提示。

比如,敲入一个pr,然后按这个快捷键,Vim将自动弹出包括printf在内的众多相关变量和函数名供你选择5、函数调用跳转:将光标移动某个函数名上,按Ctrl + ],Vim将跳转到该函数的定义处,按Ctrl + T即可返回以上只是ctags简单的用法,更专业的介绍请参考Google------------------------header.html和footer.html是我博客的wiki模板,如果你想使用vimwiki则可以借鉴使用教程资料文件夹附带了几份Vim参考材料,可以辅助Vim的使用本帖附件下载地址:标签:GVimVim代码片段(3)[图片] gvim.jpg[代码] _vimrc(完整版)view sourceprint?001 " ----------------- Author: Ruchee002 " ----------------- Email:003 " ----------------- WebSite:004 " ----------------- Date: 2012-01-04005006 " Ctrl + K --光标移上一行末尾007 " Ctrl + H --光标移行首008 " Ctrl + L --光标移行尾009 " Ctrl + Z --取代ESC模式键[和Lingos快捷键有冲突]010 " Ctrl + S --保存文件011 " Ctrl + C --编译[支持C/C++、Java、Haskell]012 " Ctrl + R --运行[支持C/C++、Java、Haskell、Lua、Perl、Python、Ruby]013 " Ctrl + ] --转到函数定义014 " Ctrl + T --返回调用函数015 " Ctrl + E --添加注释[插入模式下] [添加的是C语言的行注释,所以适用于C/C++/Java等]016 " Ctrl + E --一步加载语法模板和作者、时间信息[非插入模式下] [本质是:LoadTemplate和:AuthorInfoDetect的结合]017018 " <C-P> --单词补全019 " <C-X><C-L> --整行补全020 " Tab键--插入模式下的全功能语法结构补全[snipMate插件] 021022 " wm --开启文档浏览窗口023 " \ww --进入vimWiki模式024025 " za --打开或关闭当前折叠026 " zM --关闭所有折叠027 " zR --打开所有折叠028029 " :set syntax=cpp --手动选择语法高亮[或:set ]030031 " :%!xxd --转储二进制文件,以十六进制形式显示032 " :%!xxd -r --还原二进制文件033034035036 " ---------- 主要插件详细用法说明---------------------037038 " :Tlist --呼出变量和函数列表[TagList插件]039 " :FencView --查看文件编码和更改文件编码[FencView插件] 040 " :LoadTemplate --呼出语法模板[Load_Template插件]041 " :AuthorInfoDetect --添加作者、时间等信息[NERD_commenter && authorinfo插件]042043 " ---------- a.vim [自动切换C/C++同名头文件] ---------- 044 "045 " :A --切换同名头文件并独占整个屏幕046 " :AS --切换同名头文件并垂直分屏,头文件在上047 " :AV --切换同名头文件并水平分割,头文件在左048049 " ---------- mark.vim [追踪高亮指定关键字] ------------ 050 "051 " \m --normal模式下,在想要高亮的单词上面敲击\m即可高亮或取消高亮该单词052 " :Mark --取消所有高亮053 " :Mark abc --指定高亮单词abc 或取消高亮abc054055 " ---------- NERDTree [智能文件浏览器] ---------------- 056 "057 " :NERDTree --启动NERDTree插件058 " o [小写] --切换当前文件或目录的打开、关闭状态059 " u --打开上层目录060 " p [小写] --返回上层目录061 " P [大写] --返回根目录062 " K --转到当前目录第一个节点063 " J --转到当前目录最后的节点064 " m --显示文件系统菜单[增、删、移]065 " ? --弹出帮助菜单066 " q --退出该插件067068 " ---------- snipMate [语法结构补全] -------------------069 " --------- 例如:在编辑C/C++源文件时,输入单词main,然后按TAB键,Vim 将自动补全成完整的main函数070 " --------- 更多补全请自行查看vimfiles目录下的snippets文件夹071 " --------- 此处只说明了C/C++的补全用法,很多经过了我的修改和调整,你也可以自行调整成适合自己的补全样式072 "073 " main -- C/C++语言main 函数074 " inc -- #include <>075 " iinc -- #include ""076 " incs -- #include <stdio.h> or #include <iostream> 077 " using -- using namespace std;078 " def -- #define079 " un -- unsigned080 " re -- return081 " p -- printf("\n");082 " s -- scanf("");083 " fpr -- fprintf(abc, "\n");084 " if -- if(){}085 " elif -- elseif(){}086 " el -- else{}087 " t -- a ? b : c088 " do -- do{}while();089 " wh -- while(){}090 " for -- for(){}091 " forr -- for(i = 0; i < 10; i++){}092 " cl -- class abc{};093 " fun -- void abc(){}094 " fund -- void abc();095 " td -- typedef a b;096 " st -- struct abc{};097 " tds -- typedef struct _abc{}abc;098 " tde -- typedef enum{};099 " . -- []100101102103104105 " 配色方案106 colorscheme desert " 灰褐色107108 " 字体、字号109 set guifont=Courier\ New:h10110111 set tabstop=4 " 设置tab键的宽度112 set shiftwidth=4 " 换行时行间交错使用4个空格113 set autoindent " 自动对齐114 set backspace=2 " 设置退格键可用115 set cindent shiftwidth=4 " 自动缩进4空格116 set smartindent " 智能自动缩进117 set ai! " 设置自动缩进118 set nu! " 显示行号119 "set showmatch " 显示括号配对情况120 set mouse=a " 启用鼠标121 set ruler " 右下角显示光标位置的状态行122 set incsearch " 查找book时,当输入/b时会自动找到123 set hlsearch " 开启高亮显示结果124 set incsearch " 开启实时搜索功能125 set nowrapscan " 搜索到文件两端时不重新搜索126 set nocompatible " 关闭兼容模式127 set vb t_vb= " 关闭提示音128 "set cursorline " 突出显示当前行129 set hidden " 允许在有未保存的修改时切换缓冲区130 set list " 显示Tab符,使用一高亮竖线代替131 set listchars=tab:\|\ ,132133134 syntax enable " 打开语法高亮135 syntax on " 开启文件类型侦测136 indent on " 针对不同的文件类型采用不同的缩进格式137 plugin on " 针对不同的文件类型加载对应的插件138 plugin indent on139140 if has("gui_running")141 au GUIEnter * simalt ~x " 窗口启动时自动最大化142 "set guioptions-=m " 隐藏菜单栏143 set guioptions-=T " 隐藏工具栏144 "set guioptions-=L " 隐藏左侧滚动条145 "set guioptions-=r " 隐藏右侧滚动条146 "set guioptions-=b " 隐藏底部滚动条147 "set showtabline=0 " 隐藏T ab栏148 endif149150 set writebackup " 设置无备份文件151 set nobackup152 set autochdir " 设定文件浏览器目录为当前目录153 "set nowrap " 设置不自动换行154 set foldmethod=syntax " 选择代码折叠类型155 set foldlevel=100 " 禁止自动折叠156157 " 每行超过80个的字符用下划线标示158 au BufRead,BufNewFile *.asm,*.c,*.cpp,*.java,*.cs,*.sh,*.lua,*.pl,*.pm,*.py,*.rb,*.hs,*.vim 2match Underlined /.\%81v/159160161 " 编码设置162 "set encoding=utf-8163 set164165166 " For Haskell167 :let hs_highlight_delimiters=1 " 高亮定界符168 :let hs_highlight_boolean=1 " 把True和False识别为关键字169 :let hs_highlight_types=1 " 把基本类型的名字识别为关键字170 :let hs_highlight_more_types=1 " 把更多常用类型识别为关键字171 :let hs_highlight_debug=1 " 高亮调试函数的名字172 :let hs_allow_hash_operator=1 " 阻止把#高亮为错误173174175 set laststatus=2 " 开启状态栏信息176 set cmdheight=2 " 命令行的高度,默认为1,这里设为2177178 " 状态行显示的内容[包括系统平台、文件类型、坐标、所占比例、时间等]179 set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %y%r%m%*%=\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}180181182183 " ######### 括号、引号、中括号等自动匹配######### " 184185 :inoremap ( ()<ESC>i186187 :inoremap ) <c-r>=ClosePair(')')<CR>188189 :inoremap { {}<ESC>i190191 :inoremap } <c-r>=ClosePair('}')<CR>192193 :inoremap [ []<ESC>i194195 :inoremap ] <c-r>=ClosePair(']')<CR>196197 ":inoremap < <><ESC>i198199 ":inoremap > <c-r>=ClosePair('>')<CR>200201 :inoremap " ""<ESC>i202203 :inoremap ' ''<ESC>i204205 :inoremap ` ``<ESC>i206207 function ClosePair(char)208 if getline('.')[col('.') - 1] == a:char209 return "\<Right>"210 else211 return a:char212 endif213 endf214215216217218 " ######### 自定义快捷键######### "219220 " Ctrl + K 将光标移到上一行的末尾221 imap <ESC>kA222223 " Ctrl + L 将光标移到行尾224 imap <ESC>A225226 " Ctrl + H 将光标移到行首227 imap <ESC>I228229 " Ctrl + Z 取代ESC模式键230 :inoremap <ESC>231232 " Ctrl + S 保存文件233 map <ESC>:w<CR>234 imap <ESC>:w<CR>a235 vmap <ESC>:w<CR>236237 " Ctrl + E 一步加载语法模板和作者、时间信息[非插入模式]238 map<ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi239 vmap<ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi240241 " Ctrl + E 在当前行添加C语言行注释[插入模式]242 imap /* */<ESC>hhi243244245246247248 " ######### 第三方插件######### "249250 " WinManager 直接输入wm 命令即可开启文件浏览窗口251 let g:winManagerWindowLayout=''252 nmap wm :WMToggle<cr>253254 " MiniBufExplorer 多个文件切换可使用鼠标双击相应文件名进行切换255 let g:miniBufExplMapWindowNavVim=1256 let g:miniBufExplMapWindowNavArrows=1257 let g:miniBufExplMapCTabSwitchBufs=1258 let g:miniBufExplModSelTarget=1259260 " TagList 键入:Tlist开启261 let Tlist_Show_One_File=1 " 只显示当前文件的tags262 let Tlist_Exit_OnlyWindow=1 " 如果Taglist窗口是最后一个窗口则退出Vim 263 let Tlist_Use_Right_Window=1 " 在右侧窗口中显示264265 " ctags266 " --先在项目顶层目录执行ctags -R,然后打开源文件,在命令模式中执行如:set tags=../../tags267 " --这样在函数名上按<C-]> 即可转到函数定义,按<C-T> 可以返回调用地址268 " --如果长时间需要在该目录工作,也可以将tags路径写入配置文件269270 "set tags+=C:\Develop\MinGW\include\tags " For C/C++271 "set tags+=C:\Develop\GTK\include\tags " For GTK+272 "set tags+=C:\Develop\Lua\lua\tags " For Lua273 "set tags+=G:\Cygwin\usr\include\tags " For Cygwin274275 " TxtBrowser 高亮TXT文本文件276 au BufRead,BufNewFile *.txt setlocal ft=txt277278 " fencview 自动编码识别:FencView 查看文件编码和更改文件编码279 let g:fencview_autodetect=1280281 " Load_Template 根据文件后缀自动加载模板,使用:LoadTemplate呼出282 let g:template_path='D:\Apps\Gvim\vimfiles\template\'283284 " NERD_commenter && authorinfo 自动添加作者、时间等信息,使用:AuthorInfoDetect呼出285 let g:vimrc_author='Ruchee'286 let g:vimrc_email=''287 let g:vimrc_homepage=''288289290291292293 " ######### 一键保存和编译######### "294 " ######### 如此处没有配置你需要的编程语言,请参照示例自行配置,很简单的295296 " 编译C源文件297 func! CompileGcc()298 exec "w"299 let compilecmd="!gcc -Wall -pedantic -std=c99 " 300 let compileflag="-o %<"301 exec compilecmd." % ".compileflag302 endfunc303304 " 编译C++源文件305 func! CompileCpp()306 exec "w"307 let compilecmd="!g++ -Wall -pedantic -std=c++98 " 308 let compileflag="-o %<"309 exec compilecmd." % ".compileflag310 endfunc311312 " 编译Java源文件313 func! CompileJava()314 exec "w"315 exec "!javac %"316 endfunc317318 " 编译Haskell源文件319 func! CompileHaskell()320 exec "w"321 let compilecmd="!ghc --make "322 let compileflag="-o %<"323 exec compilecmd." % ".compileflag324 endfunc325326 " 运行Lua源文件327 func! RunLua()328 exec "w"329 exec "!lua %"330 endfunc331332 " 运行Perl源文件333 func! RunPerl()334 exec "w"335 exec "!perl %"336 endfunc337338 " 运行Python源文件339 func! RunPython()340 exec "w"341 exec "!python %"342 endfunc343344 " 运行Ruby源文件345 func! RunRuby()346 exec "w"347 exec "!ruby %"348 endfunc349350351 " 根据文件类型自动选择相应的编译函数352 func! CompileCode()353 exec "w"354 if & == "c"355 exec "call CompileGcc()"356 elseif & == "cpp"357 exec "call CompileCpp()"358 elseif & == "java"359 exec "call CompileJava()"360 elseif & == "haskell"361 exec "call CompileHaskell()"362 elseif & == "lua"363 exec "call RunLua()"364 elseif & == "perl"365 exec "call RunPerl()"366 elseif & == "python"367 exec "call RunPython()"368 elseif & == "ruby"369 exec "call RunRuby()"370 endif371 endfunc372373 " 运行可执行文件374 func! RunResult()375 exec "w"376 if & == "c"377 exec "! %<"378 elseif & == "cpp"379 exec "! %<"380 elseif & == "java"381 exec "!java %<"382 elseif & == "haskell"383 exec "! %<"384 elseif & == "lua"385 exec "!lua %<.lua"386 elseif & == "perl"387 exec "!perl %<.pl"388 elseif & == "python"389 exec "!python %<.py"390 elseif & == "ruby"391 exec "!ruby %<.rb"392 endif393 endfunc394395396 " Ctrl + C 一键保存、编译397 map :call CompileCode()<CR>398 imap <ESC>:call CompileCode()<CR> 399 vmap <ESC>:call CompileCode()<CR> 400401 " Ctrl + R 一键保存、运行402 map :call RunResult()<CR>403 imap <ESC>:call RunResult()<CR> 404 vmap <ESC>:call RunResult()<CR>405406407408409 " ######### VimWiki 写作助手######### " 410411 " 使用鼠标映射412 let g:vimwiki_use_mouse = 1413414 " 不要将驼峰式词组作为Wiki 词条415 let g:vimwiki_camel_case = 0416417 " 声明可以在wiki里面使用的HTML标签418 letg:vimwiki_valid_html_tags='b,i,s,u,sub,sup,kbd,br,hr,div,del,code,red,c enter,left,right,h4,h5,h6,pre'419420 let g:vimwiki_list = [{421 \ 'path': 'D:/Apps/Gvim/mysite/wiki',422 \ 'path_html': 'D:/Apps/Gvim/mysite/html/',423 \ 'html_header': 'D:/Apps/Gvim/mysite/template/header.html', 424 \ 'html_footer': 'D:/Apps/Gvim/mysite/template/footer.html', 425 \ 'auto_export': 1,426 \ 'nested_syntaxes': {'Asm': 'asm', 'C': 'c', 'C++': 'cpp','Java': 'java', 'Haskell': 'haskell', 'Lua': 'lua', 'Perl': 'perl', 'Python': 'python', 'PHP': 'php', 'HTML': 'html', 'Bash': 'sh', 'Vim': 'vim', 'Make': 'make', 'Automake': 'AUTOMAKE'},}][代码] _vimrc(无Vimwiki版)view sourceprint?001" 配色方案002colorscheme desert " 灰褐色003004" 字体、字号005set guifont=Courier\ New:h10006007set tabstop=4 " 设置tab键的宽度008set shiftwidth=4 " 换行时行间交错使用4个空格009set autoindent " 自动对齐01set backspace=2 " 设置退格键可用01set cindent shiftwidth=4 " 自动缩进4空格101set smartindent " 智能自动缩进201set ai! " 设置自动缩进301set nu! " 显示行号401"set showmatch " 显示括号配对情况501set mouse=a " 启用鼠标601set ruler " 右下角显示光标位置的状态行701set incsearch " 查找book时,当输入/b时会自动找到801set hlsearch " 开启高亮显示结果902set incsearch " 开启实时搜索功能02set nowrapscan " 搜索到文件两端时不重新搜索102set nocompatible " 关闭兼容模式202set vb t_vb= " 关闭提示音302"set cursorline " 突出显示当前行402set hidden " 允许在有未保存的修改时切换缓冲区502set list " 显示Tab符,使用一高亮竖线代替602set listchars=tab:\|\ ,702802903syntax enable " 打开语法高亮03syntax on " 开启文件类型侦测103indent on " 针对不同的文件类型采用不同的缩进格式203plugin on " 针对不同的文件类型加载对应的插件303plugin indent on4035036if has("gui_running")037au GUIEnter * simalt ~x " 窗口启动时自动最大化038"set guioptions-=m " 隐藏菜单栏039set guioptions-=T " 隐藏工具栏04"set guioptions-=L " 隐藏左侧滚动条041"set guioptions-=r " 隐藏右侧滚动条042"set guioptions-=b " 隐藏底部滚动条043"set showtabline=0 " 隐藏T ab栏044endif045046set writebackup " 设置无备份文件047set nobackup048set autochdir " 设定文件浏览器目录为当前目录049"set nowrap " 设置不自动换行05set foldmethod=syntax " 选择代码折叠类型051set foldlevel=100 " 禁止自动折叠052053" 每行超过80个的字符用下划线标示05 4 au BufRead,BufNewFile *.asm,*.c,*.cpp,*.java,*.cs,*.sh,*.lua,*.pl,*.pm,*.py,*.rb,*.hs,*.vim2match Underlined /.\%81v/055056057" 编码设置058"set encoding=utf-8 059set06061062" For Haskell063:let hs_highlight_delimiters=1 " 高亮定界符064:let hs_highlight_boolean=1 " 把True和False识别为关键字065:let hs_highlight_types=1 " 把基本类型的名字识别为关键字066:let hs_highlight_more_types=1 " 把更多常用类型识别为关键字067:let hs_highlight_debug=1 " 高亮调试函数的名字068:let hs_allow_hash_operator=1 " 阻止把#高亮为错误06907071set laststatus=2 " 开启状态栏信息072set cmdheight=2 " 命令行的高度,默认为1,这里设为2073074" 状态行显示的内容[包括系统平台、文件类型、坐标、所占比例、时间等]07 5 set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %y%r%m%*%=\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}076077078079" ######### 括号、引号、中括号等自动匹配######### " 08081:inoremap ( ()<ESC>i082083:inoremap ) <c-r>=ClosePair(')')<CR>08408:inoremap { {}<ESC>i508608:inoremap } <c-r>=ClosePair('}')<CR> 708808:inoremap [ []<ESC>i90909:inoremap ] <c-r>=ClosePair(']')<CR> 109209":inoremap < <><ESC>i309409":inoremap > <c-r>=ClosePair('>')<CR> 509609:inoremap " ""<ESC>i709809:inoremap ' ''<ESC>i91010:inoremap ` ``<ESC>i110210function ClosePair(char)310if getline('.')[col('.') - 1] == a:char410return "\<Right>"510else610return a:char710endif810endf91111111211311" ######### 自定义快捷键######### "411511" Ctrl + K 将光标移到上一行的末尾611imap <ESC>kA711811" Ctrl + L 将光标移到行尾912imap <ESC>A12112" Ctrl + H 将光标移到行首212imap <ESC>I312412" Ctrl + Z 取代ESC模式键512:inoremap <ESC>612712" Ctrl + S 保存文件812map <ESC>:w<CR>913imap <ESC>:w<CR>a13vmap <ESC>:w<CR>113213" Ctrl + E 一步加载语法模板和作者、时间信息[非插入模式]313map <ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi 413vmap <ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi 513613" Ctrl + E 在当前行添加C语言行注释[插入模式]713imap /* */<ESC>hhi81391414114214314" ######### 第三方插件######### "414514" WinManager 直接输入wm 命令即可开启文件浏览窗口614let g:winManagerWindowLayout=''714nmap wm :WMToggle<cr>814915" MiniBufExplorer 多个文件切换可使用鼠标双击相应文件名进行切换15let g:miniBufExplMapWindowNavVim=1115let g:miniBufExplMapWindowNavArrows=1215let g:miniBufExplMapCTabSwitchBufs=1315let g:miniBufExplModSelTarget=1415515" TagList 键入:Tlist开启615let Tlist_Show_One_File=1 " 只显示当前文件的tags715let Tlist_Exit_OnlyWindow=1 " 如果Taglist窗口是最后一个窗口则退出Vim815let Tlist_Use_Right_Window=1 " 在右侧窗口中显示9161" ctags16 2 " --先在项目顶层目录执行ctags -R,然后打开源文件,在命令模式中执行如:set tags=../../tags163" --这样在函数名上按<C-]> 即可转到函数定义,按<C-T> 可以返回调用地址164" --如果长时间需要在该目录工作,也可以将tags路径写入配置文件165166"set tags+=C:\Develop\MinGW\include\tags " For C/C++167"set tags+=C:\Develop\GTK\include\tags " For GTK+168"set tags+=C:\Develop\Lua\lua\tags " For Lua169"set tags+=G:\Cygwin\usr\include\tags " For Cygwin17171" TxtBrowser 高亮TXT文本文件172au BufRead,BufNewFile *.txt setlocal ft=txt173174" fencview 自动编码识别:FencView 查看文件编码和更改文件编码175let g:fencview_autodetect=1176177" Load_Template 根据文件后缀自动加载模板,使用:LoadTemplate呼出178let g:template_path='D:\Apps\Gvim\vimfiles\template\'17918 0 " NERD_commenter && authorinfo 自动添加作者、时间等信息,使用:AuthorInfoDetect呼出181let g:vimrc_author='Ruchee' 182let g:vimrc_email=''183let g:vimrc_homepage=''184186187188189" ######### 一键保存和编译######### "19 0 " ######### 如此处没有配置你需要的编程语言,请参照示例自行配置,很简单的191192" 编译C源文件193func! CompileGcc()194exec "w"195let compilecmd="!gcc -Wall -pedantic -std=c99 "196let compileflag="-o %<"197exec compilecmd." % ".compileflag198endfunc19920" 编译C++源文件201func! CompileCpp()202exec "w"203let compilecmd="!g++ -Wall -pedantic -std=c++98 " 204let compileflag="-o %<"205exec compilecmd." % ".compileflag206endfunc207208" 编译Java源文件209func! CompileJava()21exec "w"21exec "!javac %"121endfunc221321" 编译Haskell源文件421func! CompileHaskell()521exec "w"621let compilecmd="!ghc --make "721let compileflag="-o %<"821exec compilecmd." % ".compileflag 922endfunc22122" 运行Lua源文件222func! RunLua()322exec "w"422exec "!lua %"522endfunc622722" 运行Perl源文件822func! RunPerl()923exec "w"23exec "!perl %"123endfunc223323" 运行Python源文件423func! RunPython()523exec "w"623exec "!python %"723endfunc823924" 运行Ruby源文件24func! RunRuby()124exec "w"224exec "!ruby %"324endfunc424524624" 根据文件类型自动选择相应的编译函数724func! CompileCode()824exec "w"925if & == "c"25exec "call CompileGcc()"125elseif & == "cpp"225exec "call CompileCpp()"325elseif & == "java"425exec "call CompileJava()"525elseif & == "haskell"625exec "call CompileHaskell()"725elseif & == "lua"825exec "call RunLua()"926elseif & == "perl"26exec "call RunPerl()"126elseif & == "python"226exec "call RunPython()" 326elseif & == "ruby"426exec "call RunRuby()" 526endif626endfunc726826" 运行可执行文件927func! RunResult()27exec "w"127if & == "c"227exec "! %<"327elseif & == "cpp"427exec "! %<"527elseif & == "java"627exec "!java %<"727elseif & == "haskell"827exec "! %<"928elseif & == "lua"28exec "!lua %<.lua"128elseif & == "perl"228exec "!perl %<.pl"328elseif & == "python"428exec "!python %<.py"528elseif & == "ruby"628exec "!ruby %<.rb"728endif828endfunc92929129" Ctrl + C 一键保存、编译229map :call CompileCode()<CR>329imap <ESC>:call CompileCode()<CR> 429vmap <ESC>:call CompileCode()<CR> 529629" Ctrl + R 一键保存、运行729map :call RunResult()<CR>829imap <ESC>:call RunResult()<CR>930vmap <ESC>:call RunResult()<CR>。

相关文档
最新文档