vim配置文件.vimrc详解
vim配置⽂件.vimrc详解
"是否兼容VI,compatible为兼容,nocompatible为不完全兼容
"如果设置为compatible,则tab将不会变成空格
set nocompatible
"设置⿏标运⾏模式为WINDOWS模式
behave mswin
"设置菜单语⾔
set encoding=chinese
set 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-8
if has('win32')
language english
let &termencoding=&encoding
endif
set fencs=utf-8,gbk,chinese,latin1
set formatoptions+=mM
set nobomb " 不使⽤ Unicode 签名
if v:lang =~? '^\(zh\)\|\(ja\)\|\(ko\)'
set ambiwidth=double
endif
else
echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"
endif
" =========
" 环境配置
" =========
" 保留历史记录
set history=400
" 命令⾏于状态⾏
set ch=1
set 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 expandtab
set smarttab
set shiftwidth=4
set softtabstop=4
" 状态栏显⽰⽬前所执⾏的指令
set showcmd
" ⾏控制
set linebreak
set nocompatible
set textwidth=80
set wrap
" ⾏号和标尺
set number
set ruler
set rulerformat=%15(%c%V\ %p%%%)
" 控制台响铃
:set noerrorbells
:set novisualbell:set t_vb= "close visual bell
" 插⼊模式下使⽤ 、
set backspace=indent,eol,start
" 标签页
set tabpagemax=20
set showtabline=2
" 缩进 智能对齐⽅式
set autoindent
set 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 enable
syntax on
"设置配⾊
set guifont=Courier\ New:h12
colorscheme desert
"设定⽂件浏览器⽬录为当前⽬录
set bsdir=buffer
" ⾃动切换到⽂件当前⽬录
set autochdir
"在查找时忽略⼤⼩写
set ignorecase
set incsearch
set 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
"置粘贴模式,这样粘贴过来的程序代码就不会错位了。
set paste
"在所有模式下都允许使⽤⿏标,还可以是n,v,i,c等
set mouse=a" 恢复上次⽂件打开位置
set viminfo='10,\"100,:20,%,n~/.viminfo
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
"取得光标处的匹配
function! GetPatternAtCursor(pat)
let col = col('.') - 1
let line = getline('.')
let ebeg = -1
let cont = match(line, a:pat, 0)
while (ebeg >= 0 || (0 <= cont) && (cont <= col))
let contn = matchend(line, a:pat, cont)
if (cont <= col) && (col < contn)
let ebeg = match(line, a:pat, cont)
let elen = contn - ebeg
break
else
let cont = match(line, a:pat, contn)
endif
endwh
if ebeg >= 0
return strpart(line, ebeg, elen)
else
return ""
endif
endfunction
" =========
" 图形界⾯
" =========
if has('gui_running')
" 只显⽰菜单
set guioptions=mcr
" ⾼亮光标所在的⾏
set cursorline
" 编辑器配⾊
colorscheme desert
"colorscheme zenburn
"colorscheme dusk
if has("win32")
" Windows 兼容配置
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
"设置⿏标运⾏模式为WINDOWS模式
behave mswin
" f11 最⼤化
map :call libcallnr('fullscreen.dll', 'ToggleFullScreen', 0)
" 字体配置
exec 'set guifont='.iconv('Courier_New', &enc, 'gbk').':h12:cANSI'
"exec 'set guifontwide='.iconv('微软雅⿊', &enc, 'gbk').':h12'
endif
if has("unix") && !has('gui_macvim')
set guifont=Courier\ 10\ Pitch\ 11
set guifontwide=YaHei\ Consolas\ Hybrid\ 11
endif
if has("mac") || has("gui_macvim")
set guifont=Courier\ New:h16.00
"set guifontwide=YaHei\ Consolas\ Hybrid:h16.00
"set guifont=Monaco:h16
"set guifont=Droid\ Sans\ Mono:h14
set guifontwide=YouYuan:h14
if has("gui_macvim")
"set transparency=4
set lines=200 columns=142
let s:lines=&lines
let s:columns=&columns
func! FullScreenEnter()
set lines=999 columns=999
set fu
endf
func! FullScreenLeave()
let &lines=s:lines
let &columns=s:columns
vim配置python高亮和缩进
vim配置python⾼亮和缩进
vim的配置⽂件在/etc/vimrc,或者在~/⽬录下建⽴配置⽂件:
touch .vimrc
⾼亮设置
⼀般来说vim对识别的程序是会⾃动设置⾼亮的,如果没有可以在.vimrc中添加syntax on
并且可以调节⾼亮显⽰适配terminal的背景,如果背景是⿊⾊set background=dark
这个配置只有dark/light两个参量,并且它并不改变背景的颜⾊,如果要改变背景highlight Normal ctermfg=grey ctermbg=blue
就是在terminal中⽤蓝底⽩字,如果是在gui中则highlight Normal guibg=black guifg=white
/htmldoc/options.html#'background'
缩进设置
可以添加filetype indent plugin on
来打开⾃动缩进
对于tab的格式set modeline
同时在python⽂件中添加注释# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
也可以⼿动设置格式set tabstop=8 expandtab shiftwidth=4 softtabstop=4
Or:
set ts=8 et sw=4 sts=4
如果上⾯的设置不成功可以单独设置set tabstop=9
set expandtab
set shiftwidth=4
set softtabstop=4
filetype indent on
以上配置可以单独对识别为python的⽂件设置,创建~/.vim/ftplugin/python.vim并添加条⽬
set num 添加⾏好
⾃动添加头部注释/etc/vim/vimrc
必须是vim,⽽不是vi
function HeaderPython()
Vim IDE环境配置讲解
VIM IDE环境配置
1 介绍
要使VIM变成和VS一样的集成环境,可通过安装以下插件来实现,分别是
1) Ctags
2) Taglist
3) GNU Global
4) OmniCppComplete
5) SuperTab
6) Winmanager
7) NERDTree
8) MiniBufExplorer
下面将分别介绍各个插件的安装与使用。
2 Ctags安装
安装步骤:
1) 从/下载源代码包后,解压缩生成源代码目录。
2) 进入源代码根目录执行./configure。
3) 执行make。
4) 编译成功后执行make install。
常用命令列表:
1)$ ctags –R * ($ 为Linux系统Shell提示符)
2)$ vim –t tag (请把tag替换为您欲查找的变量或函数名)
3) :ts (ts 助记字:tags list, “:”开头的命令为vim中命令行模式命令)
4) :tp (tp 助记字:tags preview)
5) :tn (tn 助记字:tags next)
6) Ctrl + ] (跳转到该标记的定义处)
7) Ctrl + t (返回到上次跳转前位置)
命令解释:
1) “$ ctags –R *”:“-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。
2) 这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vim时,会自动载入此tags文件。
Tags文件中包括这些对象的列表: 1)用#define定义的宏
2)枚举型变量的值
3)函数的定义、原型和声明
4)名字空间(namespace)
5)类型定义(typedefs)
6)变量(包括定义和声明)
7)类(class)、结构(struct)、枚举类型(enum)和联合(union)
vim操作
vim的使用方法
1. 打开文件
vim是以vim命令后加文件名的方式来打开文件的,但vim功能强大,在打开文件时还可以加入参数实现更多的功能。用法:vim [OPTION]… FILE…
vim命令的选项及作用:
选项 含义
+ 打开文件后光标默认在尾行行首。
+# 打开文件后光标处于第#行的行首。
+/PATTERN 打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首
-b file 以二进制方式打开文件
-d file1 file2… 比较多个文件
-m file 以只读方式打开文件,打开后对文件的修改无法保存。
ex file或vim –e 直接进入扩展命令模式
补充:
如果该文件存在,文件被打开并显示内容
如果该文件不存在,当编辑后第一次存盘时创建它
如果目录不存在,将无法保存编辑内容
2. vim的三种模式
vim是一款模式编辑器,对vim的操作进行在vim的三种模式之上。所谓三种模式分别是:1.命令(Normal)模式,默认模式,主要作用是移动光标,剪切/粘贴文本。2.插入(Insert)或编辑模式,主要作用是修改文本。3.扩展命令(extended command )模式,主要作用是保存,退出等。所以想要娴熟操作vim,在三种模式之间的切换是必不可少的。vim的模式切换是以命令模式为基础的,也就是打开文件时的第一个界面,vim打开文件默认是在命令模式界面。所以无论你是要进入扩展模式还是插入模式,都需要在命令模式进行切换,扩展模式和插入模式之间是不能直接切换的。
vim三种主要模式之间的切换: 按键
作用
Esc键 退出当前模式
2Esc键 总是返回到命令模式
ESC 插入模式转到命令模式
: 命令模式转到扩展命令模式
2ESC,enter 扩展命令模式转到命令模式
3.命令模式
1.命令模式进入插入模式
按键 作用
i insert, 在光标所在处输入
我的vimrclinux下的
我的vimrclinux下的
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" windows gvim设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
set diffexpr=MyDiff()
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 一般设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 配置多语言环境,解决中文乱码问题
if has("multi_byte")
" UTF-8 编码
set encoding=utf-8
set termencoding=utf-8
set formatoptions+=mM
set fencs=utf-8,gbk
endif
" set mapleader
"译注:映射快捷键开始命令为","号,g:表示全局设置.其使用方法见下
let mapleader = ","
let g:mapleader = ","
"那么这里可以用,w命令来代替:w!命令,亲自试一下,是不是方便多了,手不
"用再挪大半个键盘打几个键了.mapleader可以自由设定
nmap w :w!
nmap q :q
nmap wq :wq
if has("win32")
"本句的意思是快速重读配置文件,这样,就不需要关闭文件重开一下来读入
map s :source $vim/_vimrc
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即可。
vimrc语法
vimrc语法
什么是vimrc?
vimrc是Vim编辑器的配置文件,用于个性化设置Vim的各种功能和选项。Vim是一款功能强大而又高度可定制的文本编辑器,通过修改vimrc文件,用户可以根据自己的喜好和需求来自定义Vim的行为。
vimrc文件的位置及命名规则
vimrc文件通常位于用户的home目录下,以隐藏文件的形式存在,文件名为”.vimrc”。在Windows系统中,文件可能会被命名为”_vimrc”。如果想要使用全局的配置文件,也可以将vimrc文件放置在Vim的安装目录中。
vimrc文件的基本语法
vimrc文件是一个文本文件,可以使用任何文本编辑器进行编辑。该文件使用Vim脚本语言编写,脚本中的每一行代表一个设置或命令。下面列举了一些常用的vimrc语法:
1. 设置选项:可以使用set命令来设置Vim的选项。例如:set number可以显示行号,set tabstop=4可以设置Tab键的宽度为4个空格。
2. 定义快捷键:可以使用map命令来定义快捷键映射。例如:map :w将F2键映射为保存文件的快捷键。
3. 启用插件:Vim支持插件扩展,可以使用plugin命令来启用插件。例如:plugin indentline可以启用缩进线插件。
4. 设置自动命令:可以使用autocmd命令来设置自动命令。例如:autocmd
FileType python set tabstop=4可以在打开Python文件时自动设置Tab键宽度为4个空格。
vimrc文件的常用配置项
vimrc文件支持众多的配置项,可以根据个人需求进行自定义设置。下面列举了一些常用的配置项及其用法: 编辑相关配置
• set tabstop=4:设置Tab键的宽度为4个空格。
• set shiftwidth=4:设置缩进时的宽度为4个空格。
• set expandtab:将Tab键转换为空格。
• set autoindent:启用自动缩进。
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 autoindent
set smartindent
“第⼀⾏设置tab键为4个空格,第⼆⾏设置当⾏之间交错时使⽤4个空格
set tabstop=4
set shiftwidth=4
“设置匹配模式,类似当输⼊⼀个左括号时会匹配相应的那个右括号
set showmatch
“去除vim的GUI版本中的toolbarset guioptions-=T
“当vim进⾏编辑时,如果命令错误,会发出⼀个响声,该设置去掉响声
set vb t_vb=
“在编辑过程中,在右下⾓显⽰光标位置的状态⾏
set ruler
“默认情况下,寻找匹配是⾼亮度显⽰的,该设置关闭⾼亮显⽰
linux修改配置文件常用的命令
- 1 - linux修改配置文件常用的命令
在Linux系统中,我们经常需要修改配置文件来改变系统行为,以下是一些常用的命令:
1. vim:vim是Linux常用的文本编辑器,可以用来打开配置文件,进行修改和保存。
2. cat:cat命令可以查看文件内容,并且可以将多个文件合并输出。
3. echo:echo命令可以将文本输出到终端或文件中,可以用来添加新行或修改配置项。
4. grep:grep命令可以搜索文本,并输出匹配的行,可以用来查找特定的配置项。
5. sed:sed命令可以编辑文本,可以用来修改配置项或删除行。
6. awk:awk命令可以对文本进行处理和分析,可以用来提取和修改配置项。
7. mv:mv命令可以用来移动和重命名文件,可以用来备份和恢复配置文件。
以上是Linux修改配置文件常用的命令,掌握它们可以方便地修改和管理系统配置。
ubuntu_vim配置文档
1. Vim (很强的编辑器)
安装: 可以直接在 应用程序/ubuntu软件中心/vim 然后点击GVim 安装;安装完成后,Vim 主要配置文件(vimrc)可以在usr/share/vim 中查看到,并且所有用户共享的配置文件,当然属于自己用户的配置可以在 /home/{your_user} 下建立一个.vim 的隐藏文件夹,然后把自己需要配置文件与插件放进去。
提供一份现在使用的配置 vimrc:
" All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
" you can find below. If you wish to change any of those settings, you should
" do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
" everytrime an upgrade of the vim packages is performed. It is recommended to
" make changes after sourcing debian.vim since it alters the value of the
" 'compatible' option.
" 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.
VIM的自动换行及自动折行设置
VIM的自动换行及自动折行设置
VIM 的自动换行及自动折行设置
以 .vimrc 文件中的设置为例:
" 自动换行是每行超过 n 个字的时候 vim 自动加上换行符
" 需要注意的是,如果一个段落的首个单词很长,超出了自动换行设置的字符,
" 这种情况下不会换行。
" 于是,中文就悲剧了,因为中文中很少出现空格,字之间没有,句子之间也没有。
" 于是不会触发自动换行的处理。
" 对已经存在的文本,不做自动换行处理,只有新输入文本的才会触发。
" 如要对已存在的文本应用自动换行,只要选中它们,然后按gq就可以了。
set textwidth=78
" 上面所说的中文不能自动换行的问题,可以通过下面的配置解决.
" m - Also break at a multi-byte character above 255. This is
useful for
" Asian text where every character is a word on its own.
" M - When joining lines, don't insert a space before or after
a
" multi-byte character. Overrules the 'B' flag.
set formatoptions+=mM
" 自动折行是把长的一行用多行显示 , 不在文件里加换行符
" 设置自动折行(默认开启)
" set wrap " 设置不自动折行
" set nowrap
