Vim编辑器使用

一、引言

   1. vim是一款功能强大的文本编辑器,如果使用熟练,将会有效帮助我们提高编辑文本、程序的效率。vim编辑器的上手使用门槛比较高,很多人怯于要记很多命令,往往在学习的初期阶段就望而却步。

   2. vim的学习需要不断的练习、使用,只有强迫自己不断的使用,才能在使用的过程中记住那些看似复杂的命令,但是如果一旦习惯了vim的编辑模式,就会觉得vim真的会帮助我们提高文本编辑效率。

   3. 关于vim学习资料,其本自带的vim帮助文档,就足够丰富,可以在学习的过程不断查阅。另外,也有一个简化的入手文档即vimtutor,在命令行输入vimtutor,便可以开始学习,大概不到一个小时就可以学习并练习完。

二、配置

   1. vim的配置文件有全局配置(一般在目录/etc/vim/vimrc)和个人配置(/home/username/.vimrc)下,全局配置文件对系统所有的用户都生效,个人配置文件只对用户自的使用环境生效

   2. vim的配置文件一般网上都会有别人已经设置好的配置,可以复制到自己的个人配置文件里直接使用,也可以根据需要自己定制自己的使用环境

三、配置脚本

  1.在之前的使用过程中,本人参考资料根据个人需要配置了一份自己的配置脚本,其中大部分都有注释说明,可以根据需要自己配置。注:”开始的在vimrc中表示注释

   set termencoding=utf8

set hlsearch”行号set nu”语法高亮syntax on”启用鼠标set mouse=v”自动缩进”突出显示列”set cursorcolumn”突出显示当前行set cursorline”高亮显示当前行”hi CursorLine cterm=NONE ctermbg=magenta ctermfg=white guibg=darked guifg=whiteset autoindent”set guifont=Monaco:h80 ” 字体 && 字号”去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限set nocompatible”依据上面的对齐格式,智能的选择对起方式,对于类似C语言编写上很有用set smartindent”设置缩进set tabstop=4set softtabstop=4set shiftwidth=4″在状态栏显示正在输入的命令set showcmd”左下角显示当前vim模式set showmode” 代码折叠set foldenableset foldmethod=indentset foldlevel=99″显示标尺set ruler”打开文件类型自动检测功能filetype onset completeopt=longest,menu”启动自动补全”filetype plugin indent on”在分割的窗口间移动:nnoremap <C-h> <C-w>h:nnoremap <C-j> <C-w>j:nnoremap <C-k> <C-w>k:nnoremap <C-l> <C-w>l

“当新建 .h .c .hpp .cpp 等文件时自动调用SetTitle 函数autocmd BufNewFile *.[ch],*.php,*.cpp exec “call SetTitle()”function SetComment()call setline(1,”/*========================================================”)call append(line(“.”), “* Copyright (C) “.strftime(“%Y”).” All rights reserved.”)call append(line(“.”)+1, “* “)call append(line(“.”)+2, “* 文件名称:”.expand(“%:t”))call append(line(“.”)+3, “* 创 建 者:mj”)call append(line(“.”)+4, “* 创建日期:”.strftime(“%Y年%m月%d日”))call append(line(“.”)+5, “* 描 述:”)call append(line(“.”)+6, “*”)call append(line(“.”)+7, “================================================================*/”)endfunction”定义函数SetTitle,自动插入文件头function SetTitle()call SetComment()if expand(“%:e”) == ‘php’call append(line(“.”)+8, “#ifndef _”.toupper(expand(“%:t:r”)).”_H”)call append(line(“.”)+9, “#define _”.toupper(expand(“%:t:r”)).”_H”)call append(line(“.”)+10, “#ifdef __cplusplus”)call append(line(“.”)+11, “extern \”C\””)call append(line(“.”)+12, “{“)call append(line(“.”)+13, “#endif”)call append(line(“.”)+14, “”)call append(line(“.”)+15, “#ifdef __cplusplus”)call append(line(“.”)+16, “}”)call append(line(“.”)+17, “#endif”)call append(line(“.”)+18, “#endif //”.toupper(expand(“%:t:r”)).”_H”)elseif expand(“%:e”) == ‘h'”call append(line(“.”)+8, “#pragma once”)elseif &filetype == ‘c’call append(line(“.”)+8,”#include <stdio.h>”)call append(line(“.”)+9,”#include <stdlib.h>”)call append(line(“.”)+10,” “)call append(line(“.”)+11,” “)call append(line(“.”)+12,”int main() “)call append(line(“.”)+13,”{“)call append(line(“.”)+14,” return EXIT_SUCCESS;”)call append(line(“.”)+15,”}”)elseif &filetype == ‘cpp'”call append(line(“.”)+8, “#include \””.expand(“%:t:r”).”.h\””)call append(line(“.”)+8, “#include <iostream>”)call append(line(“.”)+9, “#include <string>”)call append(line(“.”)+10,”#include <cstdlib>”)call append(line(“.”)+11,” “)call append(line(“.”)+12,”using namespace std;”)call append(line(“.”)+13,” “)

call append(line(“.”)+13,” “)call append(line(“.”)+14,”int main() “)call append(line(“.”)+15,”{“)call append(line(“.”)+16,” return EXIT_SUCCESS;”)call append(line(“.”)+17,”}”)endifendfunctionautocmd BufNewFile *.sh exec “call SetBashTitle()”function SetBashTitle()call setline(1,”#!/bin/bash”)endfunction”自动补全”:inoremap ( ()<ESC>i”:inoremap ) <c-r>=ClosePair(‘)’)<CR>”:inoremap { { }<ESC>:inoremap } <c-r>=ClosePair(‘}’)<CR>:inoremap [ []<ESC>i:inoremap ] <c-r>=ClosePair(‘]’)<CR>:inoremap ‘ ”<ESC>ifunction! ClosePair(char)if getline(‘.’)[col(‘.’) – 1] == a:charreturn “\&;Right>”elsereturn a:charendifendfunction

“设置退格键set backspace=indent,eol,start

2. vim主题配置

  vim自带了很多主题设置,一般可以在/usr/share/vim/vim72/colors目录中查看当前版本的vim的颜色方案,可以在.vimrc中用colorscheme darkblue或者其主题进行vim的主题配置。

  也可以按照脚本配置其不同或稍复杂的颜色方案,下面一段脚本就是根据每天的不同时间段配置vim的颜色方案

  

“根据时间段不同,设置vim的不同配色方案

function SetTimeOfDayColors()let currentHour = strftime(“%H”)let colorScheme=””if currentHour < 1 + 0let colorScheme = “blue”echo “setting colorscheme to blue”elseif currentHour < 2 + 0let colorScheme=”darkblue”echo “setting colorscheme to darkblue”elseif currentHour < 3 + 0let colorScheme=”default”echo “setting colorscheme to default”elseif currentHour < 4 + 0let colorScheme=”delek”echo “setting colorscheme to delek”elseif currentHour < 5 + 0let colorScheme=”desert”echo “setting colorscheme to desert”elseif currentHour < 6 + 0let colorScheme=”elflord”echo “setting colorscheme to elflord”elseif currentHour < 7 + 0let colorScheme=”evening”echo “setting colorscheme to evening”elseif currentHour < 8 + 0let colorScheme=”koehler”echo “setting colorscheme to koehler”elseif currentHour < 9 + 0let colorScheme=”morning”echo “setting colorscheme to morning”elseif currentHour < 10 + 0let colorScheme=”murphy”echo “setting colorscheme to murphy”elseif currentHour < 11 + 0let colorScheme=”pablo”echo “setting colorscheme to pablo”elseif currentHour < 12 + 0

let colorScheme=”peachpuff”echo “setting colorscheme to peachpuff”elseif currentHour < 13 + 0let colorScheme=”ron”echo “setting colorscheme to ron”elseif currentHour < 14 + 0let colorScheme=”shine”echo “setting colorscheme to shine”elseif currentHour < 15 + 0let colorScheme=”desert”echo “setting colorscheme to desert”elseif currentHour < 16 + 0let colorScheme = “torte”echo “setting colorscheme to torte”elseif currentHour < 17 + 0let colorScheme=”zellner”echo “setting colorscheme to zellner”elselet colorScheme=”desert”endifexecute “colorscheme ” . colorSchemeendfunctioncall SetTimeOfDayColors()

更多Vim相关教程见以下内容:

Vim学习指南 http://www.68idc.cn/Linux/2013-08/89096.htm

快速学会 Vi编辑器 http://www.68idc.cn/Linux/2013-08/88586.htm

强大的Vim 编辑器 http://www.68idc.cn/Linux/2013-07/87544.htm

在CentOS 6.2上搭建Vim开发环境 http://www.68idc.cn/Linux/2013-07/87363.htm

把Vim打造成优秀的C++ IDE http://www.68idc.cn/Linux/2016-06/132262.htm

Vim技巧分享:C语言设置 http://www.68idc.cn/Linux/2012-12/77124.htm

Ubuntu中设置Vim的行号 http://www.68idc.cn/Linux/2012-12/75485.htm

大海,别为森林的渺小而沮丧,

Vim编辑器使用

相关文章:

你感兴趣的文章:

标签云: