本文引自http://www.acczy.net/?p=301,在自己这里放一个以后方便查看

1. 基本安装

安装Vim,Windows系统中的主目录(类似于Linux的Home)中建立vimfiles文件夹、_vimrc文件和_gvimrc文件,_gvimrc是Vim的GUI配置文件,在_vimrc之后执行,由于一直使用的是gVim,因此就把_vimrc留空,所有的配置写入_gvimrc中。

2. 基本配置

"行号
set number
 
"语法

syntax on
 
"文件类型

filetype on
filetype plugin on
filetype indent on
 
"自动缩进

set autoindent
 
"配色方案

colorscheme candy
 
"窗口最大化

au GUIEnter * simalt ~x
 
"与Windows共用剪贴板

set clipboard+=unnamed
 
"关闭错误提示

set vb t_vb=
 
"关闭混合模式

set nocompatible
 
"自动刷新当前文件内容

set autoread
 
"使用backspace

set backspace=2
 
"无备份文件

set nobackup
 
"启用提示

set confirm
 
"高亮搜索

set hlsearch
set incsearch
 
"高亮当前行

set cursorline
 
"光标在窗口上下边界时距离边界8行即开始滚屏

set so=8
 
"自动定位上次文件编辑位置

autocmd BufReadPost * if line("'"") && line("'"") <= line("$") | exe "normal `"" | endif
 
"显示括号配对
set showmatch
 
"字符编码/解码
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
 
"中文菜单支持
set langmenu=zh_CN.utf-8
language message zh_CN.utf-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
 
"标题栏设置:文件名、标记、程序名、操作系统
set titlestring=%f%h%m%r%w - %{v:progname} %{$OS}
 
"显示状态栏
set laststatus=2
 
"状态栏设置:文件路径、文件名、标记、文件类型、字符编码、文件格式、当前位置、当前相对位置、文件总行数、日期、星期
set statusline=%F %h%1*%m%r%w%0*[%{strlen(&filetype)?&filetype:'none'},%{&encoding},%{&fileformat}]%=%-14.(%l,%c%V%) %<%p%% [%L] %{strftime('%y-%m-%d %A')}
 
"代码补全+映射快捷键:<F5>实现Ctrl+x-Ctrl+o代码补全,<F5>向下切换代码补全,Alt+<F5>向上切换代码补全
inoremap <expr> <F5> pumvisible()?"<Down>":"<C-X><C-O>"
inoremap <expr> <M-F5> pumvisible()?"<Up>":"<M-F5>"
 
"代码补全+映射快捷键:<F6>实现Ctrl+x-Ctrl+p补全,<F6>向下切换补全,Alt+<F6>向上切换补全
inoremap <expr> <F6> pumvisible()?"<Down>":"<C-X><C-P>"
inoremap <expr> <M-F6> pumvisible()?"<Up>":"<M-F6>"
 
"关掉智能补全时的预览窗口
set completeopt=longest,menu

上面的配置基本上将Vim配置成比较给力的编辑器

( p.s.: candy配色方案,下载,置于vimfiles\colors文件夹中 )

3. 插件配置

(1) taglist插件 && ctags插件

taglist和ctags,能够非常方便地在Vim中浏览代码,下载taglist插件,置于vimfiles文件夹中,再将ctags.exe置于Windows\System32文件夹中,最后把下面的配置添加到_gvimrc中。

"只显示当前文件的tag
let Tlist_Show_One_File = 1
"如果taglist窗口是最后一个窗口,则退出vim

let Tlist_Exit_OnlyWindow = 1
"在右侧窗口中显示taglist窗口

let Tlist_Use_Right_Window = 1
"映射快捷键<F11>

nmap <F11> :Tlist<cr>

(2) winmanager插件

winmanager插件,一个文件浏览器和窗口管理器,下载winmanager插件,置于vimfiles文件夹中,再把下面的配置添加到_gvimrc中。

let g:winManagerWindowLayout='FileExplorer'
"映射快捷键<F12>

nmap <F12> :WMToggle<cr>

(3) txt插件

txt文件是有文件类型的哦~~下载,置于vimfiles\syntax文件夹中,再配置下。

"txt插件
au BufRead,BufNewFile *  setfiletype txt

(4) Buffer Explorer / Browser 插件

Vim Buffer 管理器,可视化管理,置于vimfiles文件夹中。

(5) HTML插件

非常适合于HTML开发的插件,非常和谐,下载HTML插件,置于vimfiles文件夹中,再简单配置下。

"HTML插件
let g:html_tag_case = 'lowercase'

(6) CSS 颜色预览插件

将CSS的16进制的颜色代码显示预览成可视化的颜色,很给力哇,下载之,置于vimfiles\after\syntax中。

4. 基本操作

(1) 文件保存&&退出

操作 功能
:w 保存
:w filename 另存为filename
:wq! 保存退出
:wq! filename 以filename为文件名保存退出
:q! 强制退出

(2) 光标移动

操作 功能
k 向上移动一行
j 向下移动一行
h 向左移动一个字符
l 向右移动一个字符
#k 向上移动#行
#j 向下移动#行
#k 向上移动#行
#h 向左移动#个字符
#l 向右移动#个字符
gk 向上移动一行(适用于单行跨越多行)
gj 向下移动一行(适用于单行跨越多行)
fx 移动到当前行下一个字母x处(;重复命令)
tx 移动到当前行下一个字母x的左边一个位置(;重复命令)
Fx 移动到当前行上一个字母x处(;重复命令)
w 移动到后一个词
b 移动到前一个词
^ 移动到当前行行首
$ 移动到当前行行尾
) 移动到后一个句子
( 移动到前一个句子
G 移动到文件的最后一行
gg 移动到文件的第一行
#G 移动到文件第#行
H 移动到屏幕首行
L 当前屏幕末行
M 当前屏幕末行
* 读取光标处字符串,移动到下一个出现的位置
# 读取光标处字符串,移动到上一个出现的位置
ctrl+b 向上移动一屏
ctrl+f 向下移动一屏
`. 移动到上次编辑文件的位置

(3) 文本的插入

操作 功能
i 在光标之前插入
a 在光标之后插入
I 光标所在行的行首插入
A 光标所在行的行末插入
o 光标所在的行的下面插入一行
O 光标所在的行的上面插入一行
s 删除光标后的一个字符,进入插入模式
S 删除光标所在的行,进入插入模式
c{command} 删除command命令跨过的字符,进入插入模式

(4) 文本的删除

操作 功能
x 删除光标所在的一个字符
#x 删除光标所在和光标后的#个字符
dw 删除光标所在单词
#dw 删除光标所在和光标后的#个单词
dd 删除光标所在行
#dd 删除光标所在和光标下的#行
d{command} 删除command命令跨过的字符

(5) 撤消

操作 功能
u 撤消操作
ctrl+r 重做撤消操作

(6) 复制&&粘贴

操作 功能
y 复制
yy 复制光标所在行
p 粘帖在光标之后
shift+p 粘帖在光标之前

(7) 查找&&替换

操作 功能
/SEARCH 正向查找SEARCH,n移动光标到下一个符合条件的地方
?SEARCH 反向查找SEARCH,shift+n移动光标到下一个符合条件的地方
n 继续查找(正方向)
shift+n 继续查找(反方向)
:%s /SEARCH/REPLACE/g 文档中所有SEARCH替换成REPLACE
:s /SEARCH/REPLACE/g 当前光标所在行中的SEARCH替换成REPLACE,高亮显示所有SEARCH
:#,# s /SEARCH/REPLACE/g #行到#行中所有SEARCH替换成REPLACE
:nohl 取消高亮显示

(8) vi中运行shell命令(bash、cmd等)

操作 功能
:!shell_command 运行shell_command
:e file/forder_path Vim直接访问文件

Vim常见配置与命令的更多相关文章

  1. 远程拷贝、查看端口、vim常见快捷键、查找替换命令、grep命令、查看存储空间的命令、chkconfig命令、系统自动启动级别、主机名配置、IP地址配置、域名映射、防火墙设置

    2.1.远程拷贝 (将/export/servers/hadoop上的文件拷贝到bigdate@192.168.1.1:/export/servers/ ) scp –r /export/server ...

  2. 为了让vi命令也可以使用vim的配置,需要修改 vi /etc/bashrc 增加一行 alias vi='vim'此时,经过上面配置已经可以显示语法高亮了

    为了让vi命令也可以使用vim的配置,需要修改 vi /etc/bashrc 增加一行 aliasvi='vim'此时,经过上面配置已经可以显示语法高亮了

  3. Vim 基本配置和经常使用的命令

    vim 优势和应用场景 vim 的优点纯文字编辑和 Linux 完美的融合提供了命令行.只能假设 ssh 至server进行操作,那么这样的情况就仅仅能使用 vim 了.vim 也是最为强大的通用文本 ...

  4. (转)CentOS 7常见的基础命令和配置

    CentOS 7常见的基础命令和配置 原文:http://blog.51cto.com/hujiangtao/1973566 管理服务 命令格式:systemctl COMMAND name.serv ...

  5. Httpd2.2常见配置及功能

    Httpd 2.2常见配置 要配置http服务的配置文件,先备份一下,养成良好习惯,如果误操作导致http服务起不来,就可以将备份的主配置文件重新覆盖一下 httpd配置文件的组成:有三大部分组成,其 ...

  6. macOS中Vim基本配置,颜色主题/语法/indent设置

    macOS中Vim基本配置 Vim的初始化配置 .vimrc 存放位置 macOS 环境下 vim 的初始化配置文件为 .vimrc , 通常有两个(系统版本和用户版本),一个位于 /usr/shar ...

  7. 【vim环境配置】详细实录

    [写在前面] 以下的所有内容主要参照: https://github.com/yangyangwithgnu/use_vim_as_ide . 原blog作者写的非常用心,建议大家都去看看.(个人觉得 ...

  8. 4.Vim编辑器与Shell命令脚本

    第4章 Vim编辑器与Shell命令脚本 章节简述: 本章首先讲解如何使用Vim编辑器来编写.修改文档,然后通过逐个配置主机名称.系统网卡以及Yum软件仓库参数文件等实验,帮助读者加深Vim编辑器中诸 ...

  9. Httpd服务入门知识-Httpd服务常见配置案例之基于用户账号实现访问控制

    Httpd服务入门知识-Httpd服务常见配置案例之基于用户账号实现访问控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.基于用户的访问控制概述 认证质询: WWW-Auth ...

随机推荐

  1. Uuuuuunity

    foreach http://blog.csdn.net/byondocean/article/details/6871881 yield  http://www.cnblogs.com/CareyS ...

  2. JAVA课程设计 俄罗斯方块

    俄罗斯方块 可实现功能 1.账号管理:登录.注册 2.游戏实现:移动.旋转.消除方块统计得分.暂停游戏.暂停后继续游戏.此轮游戏未结束开启新一轮游戏.游戏未结束退出游戏. 3.排行榜:按分数排名.按局 ...

  3. php数据缓存到文件类设计

    // 自定义缓存类 class Cache_Filesystem { // 缓存写保存 function set ($key, $data, $ttl) { //打开文件为读/写模式 $h = fop ...

  4. 使用 Redis的SETNX命令实现分布式锁

    使用Redis的 SETNX 命令可以实现分布式锁,下文介绍其实现方法. SETNX命令简介 命令格式 SETNX key value 将 key 的值设为 value,当且仅当 key 不存在. 若 ...

  5. express框架 中间件

  6. Luogu3953 NOIP2017逛公园(最短路+拓扑排序+动态规划)

    跑一遍dij根据最短路DAG进行拓扑排序,按拓扑序dp即可.wa了三发感觉非常凉. #include<iostream> #include<cstdio> #include&l ...

  7. SRM708 div1 PalindromicSubseq(动态规划+容斥原理)

    题目大意:给定一个字符串,记X[i]为包含s[i]这个字符的所有子列是回文串的个数(注意是子列而不是子串),求出所有的X[i]*(i+1),然后异或起来作为返回结果 题解: 首先用容斥来想,如果当前枚 ...

  8. [UOJ#351]新年的叶子

    [UOJ#351]新年的叶子 试题描述 躲过了AlphaGo 之后,你躲在 SingleDog 的长毛里,和它们一起来到了AlphaGo 的家.此时你们才突然发现,AlphaGo 的家居然是一个隐藏在 ...

  9. [洛谷P3413]SAC#1 - 萌数

    题目大意:求$[l,r](0\leqslant l<r< 10^{1001})$中存在长度至少为$2$的回文串的数字数 题解:数位$DP$,发现如果有回文串,若长度为偶数,一定有两个相同的 ...

  10. [Leetcode] spiral matrix ii 螺旋矩阵

    Given an integer n, generate a square matrix filled with elements from 1 to n 2 in spiral order. For ...