我的gvim配置

set nocompatible " 关闭vi兼容
" 显示相关
set go=
set number
set cursorline
set nowrap
set nofixendofline
set hlsearch
set wildmenu
" 主题相关
syn on
colorscheme desert
" 编码相关
set fencs=utf-8,gbk,gb2312
set encoding=utf-8
set fileencoding=utf-8
" 关闭临时文件
set nobackup
set noundofile
set noswapfile
" 缩进相关
set autoindent
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set smarttab
" 字体相关
set guifont=Consolas:h16
set guifontwide=楷体:h16
" 状态栏相关
set laststatus=2
set statusline=Filetype:%Y\ \ Hex:0x%B\ \ Position:(%l,%c)\ Progress:(%o,%p%%)\ \ Total:%L\ lines
filetype plugin indent on " 打开文件类型探测
" 按键相关
set keymodel=startsel,stopsel
set backspace=indent,eol,start
nmap j gj
nmap k gk
func Run()
exec 'w'
if &filetype == 'cpp' || &filetype == 'c'
exec '! clang % -Wall -o %<.exe'
exec 'silent ! start cmd /C "%<.exe & pause"'
endif
if &filetype == 'python'
exec 'silent ! start cmd /C "python % & pause"'
endif
if &filetype == 'haskell'
exec 'silent ! start cmd /C "ghci % & pause"'
endif
endfunc
map <C-F5> :call Run() <CR>

一些总结

  • ={motion} [number]== 缩进

  • :sm :sno magic和nomagic模式下的替换

  • 替换标识:

    • c 逐个确认
    • i 忽略大小写
    • n 只包括有多少个匹配,不实际替换
  • :[range]ret 规范制表符

  • :[range]ce [width] :[range]ri [width] :[range]le [indent] 居中,右对齐和左对齐,width为列宽,indent为缩进空格数

  • [range]sor[!] [f][i][n][/{pattern}] 对range里的内容排序:

    • ! 表示降序
    • f 按行中第一个浮点数大小排
    • n 按行中第一个整数大小排
    • i 忽略大小写
    • /{pattern} 按匹配的元素排
  • zf{motion} [number]zF 创建折行

  • zd zD 删除光标下的折行,后者为递归

  • zo zO 打开光标下的折行,后者为递归

  • zc zC 收起光标下的折行,后者为递归

  • gd gD 跳到定义,前者为函数内,后者为全文件

  • gJ 下一行合并到当前行,不插入空格

  • :noh 关闭搜索出来的高亮

  • Ctrl-O Ctrl-I 到达上一次/下一次跳转的地方

  • g; g, 到达上一次/下一次修改的地方

  • :set cc(colorcolumn)=number 让第number列高亮

  • set lsp(linespace)=number 调节行距

  • set noar/ar(noautoread/autoread) 设置当前文件被外部改动时是否加载

  • set sh(shell)=shellpath 设置使用的命令行程序

  • :opt(options) 展示所有的set设置

  • z{number}<Cr> 将当前编辑区的高度设置为number

  • Ctrl-w{number}| 将当前编辑区的宽度设置为number

  • Ctrl-w</>/-/+ 缩小/放大当前编辑区的宽度/缩小/放大当前编辑器的高度

  • :[vertical] res [+|-][number] 将当前编辑区的宽度/高度缩小/放大/设为number

gvim使用总结的更多相关文章

  1. 打开gvim发现菜单栏是乱码

    默认安装将会把中文区域设置为zh_CN.utf8,而GVim能识别的中文区域设置为zh_CN.UTF-8.因此GVim会在启动时报错,且 无法正常加载中文菜单.解决方案:Linux下编辑 ~/.vim ...

  2. gvim 安装YCM

    gvim的插件安装笔记 1.安装vunble插件 该插件主要用于管理别的插件,借助与git,从github来下载插件,实现自动安装前提条件是git安装正确,可以听过cnd使用,并且可以正确访问gith ...

  3. gVim的pathogen

    1.安装gVim 1.选择Full模式 2. 在vimfiles 文件夹下,会有许多空文件夹.将它们全删掉. 3.将vim74文件夹下的"autoload"文件夹 剪切 到 vim ...

  4. Gvim常用命令

    这是一篇较全的vim命令.特记录下来,有稍作修改说明.摘http://hi.baidu.com/ui176/item/b00ae7c0eeaba52847d5c0c5 Vim常用命令 跳到指定的行号: ...

  5. windows 下 gvim/vim lua支持问题,neocomplete等插件支持

    此文是按照知乎 https://www.zhihu.com/question/29333426 "windows下vim的lua支持问题?" 一文汇总的解决方案. 题主提供了不错的 ...

  6. Gvim插件管理Vundle

    之前关于gvim的博客中提到的很多插件安装比较繁琐,这一篇来介绍一下gvim管理插件的插件--vundle的安装以及使用,让givm的插件安装更加的简单 首先给出vundle的git地址 https: ...

  7. gvim的菜单乱码解决方法

    gvim的菜单乱码解决方法: (乱码是由于系统内码不兼容导致,系统内码包括gb2312 gb18030 utf-8 utf-16[unicode]等) 生成文件 ~/.gvimrc 并添加如下语句:s ...

  8. win10 右键菜单添加使用gvim打开方式

    ①打开注册表编辑器,开始-->运行-->regedit ②定位到:HKEY_CLASSSES_ROOT---> * --->Shell,在Shell 上右击,新建---> ...

  9. gvim e303 无法打开 “[未命名]“的交换文件,恢复将不可能

    今天vim出现:“gvim e303 无法打开 “[未命名]“的交换文件,恢复将不可能” 解决办法: 修改你的.vimrc,增加下面的一行: set directory=.,$TEMP "默 ...

  10. gvim如何显示html属性代码提示? vim 如何显示 javascript属性及方法提示?

    gvim如何显示html属性代码 可以在vim中 显示 html, css, js等的属性/方法 提示: 一是: 在 ~/.vim/after/syntax/ 目录中 安装 css-color.vim ...

随机推荐

  1. matlab-整数规划(非线性规划之蒙特卡洛法(随机取样法))

    首先编写M 文件mengte.m 定义目标函数f 和约束向量函数g,程序如下:function [f,g]=mengte(x);%定义目标函数f和约束向量函数g f=x()^+x()^+*x()^+* ...

  2. (二)用testng的groups管理用例

    原文链接:https://www.cnblogs.com/Jourly/p/7002096.html 一.需求: 测试时经常有两种场景,第一种是冒烟测试的小部分用例:一类是全部用例. 二.针对第一种运 ...

  3. unittest实现用例运行失败截图

    把这个方法放到父类basecase(unittest.TestCase)就行了 #coding: utf-8 import unittest, random, os, traceback from s ...

  4. Jupyter notebook中的Cell and Line Magics

    参考资料: https://www.jianshu.com/p/81ada9234788 https://my.oschina.net/u/2306127/blog/832510 首先,Cell an ...

  5. python中那些鲜为人知的功能特性

    经常逛GitHub的可能关注一个牛叉的项目,叫 What the f*ck Python! 这个项目列出了几乎所有python中那些鲜为人知的功能特性,有些功能第一次遇见时,你会冒出 what the ...

  6. 1.WebPack概念

    一.什么是WebPack 官方解释:本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构 ...

  7. new jup在新一代中存在

    1.灰度发布服务动态路由 动态配置路由规则,实现对调用流量的精确控制.可配置基于版本.IP.自定义标签等复杂的规则.2.服务鉴权示例2需求:服务 provider-demo 只允许来自 consume ...

  8. JavaWeb网上图书商城完整项目--day02-14.登录功能的login页面处理

    1.现在注册成功之后,我们来到登录页面,登录页面在于 在登录页面.我们也需要向注册页面一样对登录的用户名.密码 验证码等在jsp页面中进行校验,校验我们单独放置一个login.js文件中进行处理,然后 ...

  9. TestNG配合catubuter统计单元测试的代码覆盖率

    build-testNG.xml对应的ant脚本为 <?xml version="1.0" encoding="UTF-8"?> <proje ...

  10. 代码块&&API(object、String、StringBuffer、StringBuilder)

    day 07 代码块 局部代码块 定义在方法中,用户划分区域的 构造代码块 和成员方法并列,用{}包裹 每次创建对象的时候都会执行,优先于构造方法 静态代码块 构造代码块前面用static声明 在同类 ...