vim 编辑器的基本说明

vi编辑器的功能类似于Windows下的记事本,只能编辑普通文本,而vim编辑器则相当于Windows下的notepad++等高级编辑器,提升了代码开发效率。

将vi命令默认定向到vim,需要做以下调整。

vim 编辑器的的配置文件.vimrc的重要参数说明

每个用户的家目录下面都可以创建一个.vimrc的vim配置文件,优化用户编程的环境并提高开发效率。如果想在整个环境中对vim开发环境进行优化,可将配置参数写入/etc/vimrc中。这样以后,所有用户可以使用优化后的开发环境。

以下是一些常见的重要参数:

'' ~/.vimrc
'' vim config file
'' date 2019-06-05
'' Created by ant
'' Blog:https://www.cnblogs.com/ant-colonies/ ''''''''''''''''''''''''''''''''''
'' => 全局变量
'''''''''''''''''''''''''''''''''' '' 关闭兼容模式
set nocompatible '' 历史记录数
set history=100 '' 开启相关插件
filetype on
filetype plugin on
filetype indent on '' 当文件在外部被修改时,自动更新该文件
set autoread '' 激活鼠标
set mouse=a ''''''''''''''''''''''''''''''''''
'' => 字体和颜色
'''''''''''''''''''''''''''''''''' '' 语法检查
syntax enable '' 字体
''set guifont=dejaVu\ Sans\ MONO\ 10
''
'' 设置配色
''colorscheme desert '' 高亮显示光标所在行
set cursorline
hi cursorline guibg=#00ff00
hi CursorColumn guibg=#00ff00 ''''''''''''''''''''''''''''''''''
'' => 代码折叠功能
''''''''''''''''''''''''''''''''''
'' 激活代码折叠
set foldenable '' 折叠方式 (可简写 set fdm=XX)
''manual 自定义折叠
''indent 更多的缩进表示更高级别的折叠
''expr 用表达式来定义折叠
''syntax 用语法来表示折叠
''diff 对没有更改的文本进行折叠
''marker 对文中的标志进行折叠
set foldmethod=manual '' 折叠区域的宽度
'' 如果不为0,则在屏幕左侧先是一个折叠的标识
'' 这两个标识是"-"和"+",分别表示"打开"和"关闭"折叠的内容
set foldcolumn=0 '' 折叠层数
setlocal foldlevel=3 '' 自动关闭折叠
set foldclose=all '' 用空格键来代替zo和zc快捷键实现开关折叠
''zo O-pen a fold
''zc C-lose a fold
''zf F-old creation 创建折叠
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR> set nofen
set fdl=0 ''''''''''''''''''''''''''''''''''
'' => 文字处理
'''''''''''''''''''''''''''''''''' '' 使用空格代替Tab
set expandtab '' 所有的Tab和缩进为4个空格
set tabstop=4 '' 设定 << 和 >>命令移动时的宽度为4
set shiftwidth=4 '' 退格键一次删除4个空格
set softtabstop=4 set smarttab '' 缩进,自动缩进(继承前一行的缩进)
'' set autoindent命令自动缩进, autoindent 缩写为 ai
'' set ai 自动缩进; set noai 无自动缩进,可在vim打开的文件临时(:set ai)
'' 可使用":set ai sw=4" 打开缩进并设置缩进级别
set ai '' samrt indent,智能缩进
set si '' 自动换行
set wrap
'' soft width,软宽度
set sw=4 ''''''''''''''''''''''''''''''''''
'' => Vim界面
'''''''''''''''''''''''''''''''''' '' Turn on wild menu
set wildmenu '' 显示标尺
set ruler '' 命令行高度
set cmdheight=1 '' Do not redraw, when running macro.. lazyredraw
set lz '' 退格
set backspace=eol,start,indent '' backspace and cursor keys wrap to
set whichwrap+=<,>,h,l '' Set magic on 魔数打开
set magic '' 关闭错误响铃
set noerrorbells '' 关闭可视响铃
set novisualbell '' 显示匹配的括号 ([{ 和 }])
set showmatch '' How many tenths of a second to blink, 光标一秒钟闪烁的多说个10次
set mat=2 '' 高亮显示搜索到的内容
set hlsearch '' 搜索时不区分大小写,命令行缩写 :set ic :set noic
set ignorecase ''''''''''''''''''''''''''''''''''
'' => 编码设置
'''''''''''''''''''''''''''''''''' set encoding=utf-8 '' 文件编码
set fileencodings=utf-8 '' 终端编码
set termencoding=utf-8 ''''''''''''''''''''''''''''''''''
'' => 其他设置
'''''''''''''''''''''''''''''''''' '' 智能缩进
set smartindent
set cin
set showmatch '' 隐藏工具栏
set guioptions-=T '' 隐藏菜单栏
set guioptions-=m '' 置空错误铃声的终端代码
set vb t_vb= '' 显示状态栏 (默认为1,表示无法显示状态栏)
set laststatus=2 '' 粘贴不换行问题的解决办法功能键 F9
set pastetoggle=<F9> '' 背景颜色
set background=dark '' 高亮相关
highlight Search ctermbg=black ctermfg=white guifg=white guibg=black '' Shell script 的开头自动增加解释器及其他信息
autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
func SetTitle()
if expand("%:e") == 'sh'
call setline(1, "##!/bin/bash")
call setline(2, "#Author:ant")
call setline(3, "#Blog:https://www.cnblogs.com/ant-colonies/")
call setline(4, "#Time:".strftime("%F %T"))
call setline(5, "#Name:".expand("%"))
call setline(6, "#Version:V1.0")
call setline(7, "#Discription:This is a test script.")
endif
endfunc
set nocompatible
set history=100
filetype on
filetype plugin on
filetype indent on
set autoread
set mouse=a
syntax enable
set cursorline
hi cursorline guibg=#00ff00
hi CursorColumn guibg=#00ff00
set nofen
set fdl=0
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
set smarttab
set ai
set si
set wrap
set sw=4
set wildmenu
set ruler
set cmdheight=1
set lz
set backspace=eol,start,indent
set whichwrap+=<,>,h,l
set magic
set noerrorbells
set novisualbell
set showmatch
set mat=2
set hlsearch
set ignorecase
set encoding=utf-8
set fileencodings=utf-8
set termencoding=utf-8
set smartindent
set cin
set showmatch
set guioptions-=T
set guioptions-=m
set vb t_vb=
set laststatus=2
set pastetoggle=<F9>
set background=dark
highlight Search ctermbg=black ctermfg=white guifg=white guibg=black
autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
func SetTitle()
if expand("%:e") == 'sh'
call setline(1, "##!/bin/bash")
call setline(2, "#Author:ant")
call setline(3, "#Blog:https://www.cnblogs.com/ant-colonies/")
call setline(4, "#Time:".strftime("%F %T"))
call setline(5, "#Name:".expand("%"))
call setline(6, "#Version:V1.0")
call setline(7, "#Discription:This is a test script.")
endif
endfunc

Linux系统的vim编辑器的配置文件的初步说明的更多相关文章

  1. Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令

    Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...

  2. 5.Linux系统的vim与软件包管理

    5.1 Linux系统的vim编辑器 5.1.1 vim编辑器的概述 vim编辑器的简介 1.vim是什么? vim是一个类似vi的文本编辑器,它在vi的基础上增加了很多新特性 vim是vi发展出来的 ...

  3. Linux系统 vi/vim文本编辑器

    Linux系统 vi/vim文本编辑器 (一)Vim/Vi简介 (二)Vim/Vi工作模式 (三)Vim/Vi基本使用 (四)Vim/Vi应用技巧 (一)Vim/Vi简介 Vim/Vi是一个功能强大的 ...

  4. Windows & Linux 安装使用 Vim 编辑器 3分钟入门 - 精简归纳

    Windows & Linux 安装使用 Vim 编辑器 3分钟入门 - 精简归纳 JERRY_Z. ~ 2020 / 8 / 25 转载请注明出处! 目录 Windows & Lin ...

  5. 【转】Linux上vi(vim)编辑器使用教程

    Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...

  6. linux系统下Vi编辑器或者Vim编辑器设置显示行号、自动缩进、调整tab键宽度的技巧?

    工作中嫌vim 中一个tab键的宽度太大,linux系统默认,没改之前是一个tab键宽度是8个字符,想改成4个字符, 操作如下:(注意:这是在root用户下)cd ~vim .vimrc添加如下几行: ...

  7. 【Linux 操作系统】vim编辑器配置及常用命令

    最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...

  8. Linux之vi/vim编辑器

    1.概述 所有的Unix like系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在,但是目前我们使用比较多的是 vim 编辑器. vim具有程序编辑的能力,可以主动地以字体颜色辨别语法的 ...

  9. Linux 系统开机自启的配置文件

    程序开机启动的配置文件(/etc/rc.local) # 系统级别 ntsysv # 图形界面设置自启程序 chkconfig(/etc/init.d/sshd) 处理开机启动的文件 # 用户级别 # ...

随机推荐

  1. VijosP1274:神秘的咒语

    描述 身为拜月教的高级间谍,你的任务总是逼迫你出生入死.比如这一次,拜月教主就派你跟踪赵灵儿一行,潜入试炼窟底. 据说试炼窟底藏着五行法术的最高法术:风神,雷神,雪妖,火神,山神的咒语.为了习得这些法 ...

  2. Java中是构造器创建对象吗?

    首先,这里说明” Java中是构造器创建对象 “这句话是完全错误的. Java中构造器的作用主要是为了初始化变量的值...其实在执行构造器之前,Java对象所需要的内存空间,已经产生了... 一般可以 ...

  3. WPF实现右键菜单

    ContextMenu类就是用来做右键菜单的对象,对于任何的控件都可以进行对ContextMenu属性的操作进行设置右键菜单的功能. 下面代码就是对一个按钮添加一个WPF右键菜单的功能: < B ...

  4. PCB设计基础及技巧

    一.设计步骤 (1)PCB布局 先放置接口类外设: 根据飞线的接口方向,定位各个模块的方位: 局部模块化(按照一个方向逐个局部化): (2)PCB布线 设置设计规则: 先布过孔(电源.地.长线),防止 ...

  5. <正则吃饺子> :关于Java的native方法(转)

    感谢作者的分享,原文地址:http://blog.csdn.net/wike163/article/details/6635321 一. 什么是Native Method   简单地讲,一个Nativ ...

  6. java的大小端和转换

    一直以为大小端针对的bit的顺序,今天才知道:大小端的分度值是 byte,即每一个byte都是按照正常顺序,但是byte组装成一个int 或者是 long等时每个byte的摆放位置不同. 测试代码: ...

  7. SDUT2140图结构练习——判断给定图是否存在合法拓扑序列

    拓扑序列的判断方法为不存在有向环,代码实现的话有两种,一种是直接去判断是否存在环,较为难理解一些,另一种的话去判断结点入度,如果存在的入度为0的点大于一个,则该有向图肯定不存在一个确定的拓扑序列 #i ...

  8. ERROR: JDWP Unable to get JNI 1.2 environment的解决方法

    当执行如下代码时: //从控制台获取输入 InputStream is = System.in; Scanner scanner = new Scanner(is); System.out.print ...

  9. idea使用的知识

    1. 如何设置,使IntelliJ IDEA智能提示忽略大小写.    很好用,在settings->Editor->General-->Code Completion里设置.2. ...

  10. Linux系统及lvm知识

    一.磁盘分区是怎样表示的 IDE磁盘的设备文件采用/dev/hdx 来命名,分区则采用/dev/hdxy来命名,其中想表示磁盘(a是第一块磁盘,b是第二块磁盘,以此类推),与代表分区的号码(由1开始, ...