首页 > 代码库 > vim配置
vim配置
如果没有安装vim就请使用:sudo apt-get install vim
- 一个完整的.vimrc配置信息如下所示:
- set nocompatible
- set nummber
- filetype on
- set history=1000
- set background=dark
- syntax on
- set autoindent
- set mouse=a
- set smartindent
- set tabstop=4
- set shiftwidth=400
- set showmatch
- set guioptions-=T
- set vb t_vb=
- set ruler
- set nohls
- set incsearch
- if has("vms")
- set nobackup
- else
- set backup
- endif
- .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版本中的toolbar
- set guioptions-=T
- “当vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声
- set vb t_vb=
- “在编辑过程中,在右下角显示光标位置的状态行
- set ruler
- “默认情况下,寻找匹配是高亮度显示的,该设置关闭高亮显示
- set nohls
- “查询时非常方便,如要查找book单词,当输入到/b时,会自动找到第一
- “个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的单词,依
- “次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词
- “时,别忘记回车
- set incsearch
- “修改一个文件后,自动进行备份,备份的文件名为原文件名加“~“后缀
- if has(“vms”)
- set nobackup
- else
- set backup
- endif
- ################################################################################
- 如果设置完后,发现功能没有起作用,检查一下系统下是否安装了vim-enhanced包,查询命令为:
- $rpm –q vim-enhanced
- 请教]用vi把文件重新打开,如何回到上次光标的位置?
- autocmd BufReadPost *
- \ if line("‘\"") > 0 && line("‘\"") <= line("$") |
- \ exe "normal g`\"" |
- \ endif
- ###################################################################################
- vim中如何查找和替换字符串
- 一、 字符串的查找
- 1. vim 中用 / 和 ? 来查找字符串,两者的区别是:
- /string 会高亮显示光标后匹配的第一个字符串,回车后光标移到该字符串的第一个字母;
- ?string 会高亮显示光标前匹配的第一个字符串,回车后光标移到该字符串的第一个字母。
- 在回车之后,按n键同方向转到下一个匹配的字符串,按N键反方向转到上一个匹配的字符串。
- 2. 用命令 :set ic 和 :set noic 来分别设置查找时不区分和区分大小写。
- 如果查找特殊字符,如 ^、$、*、/ 和 .,需要在前面加 \ 来转义。
- 二、字符串的替换
- 1. vim 中可用 :s 命令来替换字符串,具体如下:
- :s/str1/str2/ 替换当前行第一个 str1 为 str2
- :s/str1/str2/g 替换当前行中所有 str1 为 str2
- :m,ns/str1/str2/ 替换第 n 行开始到最后一行中每一行的第一个 str1 为 str2
- :m,ns/str1/str2/g 替换第 n 行开始到最后一行中所有的 str1 为 str2
- (注:m和n 为数字,若m为 .,表示为当前行开始;若n为$,则表示到最后一行结束)
- 如果使用 # 作为分隔符,则中间出现的 / 不会作为分隔符,比如:
- :s#str1/#str2/# 替换当前行第一个 str1/ 为 str2/
- :%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/
- 2. 其他
- :%s/str1/str2/(等同于 :g/str1/s//str2/) 替换每一行的第一个 str1 为 str2
- :%s/str1/str2/g(等同于 :g/str1/s//str2/g 和 :1,$ s/str1/str2/g ) 替换文中所有 str1 为 str2
- 从替换命令可以看到,g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索
- 字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。
- ###################################################################################
- 2.打开一个已存在的文件后,文件中的字符,不能用backspace键删除。但是此时如果输入新的字符,却可以用backspace进行删除。这是怎么回事?
- 查看帮助:
- :help bs
- :help backspace
- 原来,backspace有几种工作方式,默认是vi兼容的。对新手来说很不习惯。对老vi 不那么熟悉的人也都挺困扰的。可以用
- :set backspace=indent,eol,start
- 来解决。
- indent: 如果用了:set indent,:set ai 等自动缩进,想用退格键将字段缩进的删掉,必须设置这个选项。否则不响应。
- eol:如果插入模式下在行开头,想通过退格键合并两行,需要设置eol。
- start:要想删除此次插入前的输入,需设置这个。
vim配置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。