我的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. AutoIt实现文件上传

    AutoIt目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动 ...

  2. 关联函数-web_reg_save_param

    int web_reg_save_param(const char *ParamName,<List of Attributes>,LAST) 返回值:成功时返回LR_PASS,失败时返回 ...

  3. 深度学习中环境配置的一些经验总结(conda 常用命令)

    前两个月参加了学校的国创项目,和一个外院的同学组队.课题是基于深度学习的新闻图片中网络暴力元素的检查. 6月末最后一门试考完,正式开始暑假,便有了大把时间搞这个国创项目(反正没有其他事干).两个组凑钱 ...

  4. opencv3.1.0 计算机中丢失 opencv_world310d.dll _vs2017解决方法

    ---------------------------opencv1.exe - 系统错误---------------------------无法启动此程序,因为计算机中丢失 opencv_worl ...

  5. hexo搭建个人博客部署到个人服务器(git+nginx+hexo+next)

    本次以阿里云服务器为例,详细讲解步骤: 一.本地环境[客户端] 这里以本地的win10电脑为例 1.下载node, 默认安装,安装完成之后,node -v看看版本号 node下载 2.安装node(傻 ...

  6. Error: Cannot find module 'webpack'

    运行 npm start 报错 Error: Cannot find module 'webpack' 安装了 npm install --save-dev webpack cnpm install ...

  7. 手把手教你基于SqlSugar4编写一个可视化代码生成器(生成实体,以SqlServer为例,文末附源码)

    在开发过程中免不了创建实体类,字段少的表可以手动编写,但是字段多还用手动创建的话不免有些浪费时间,假如一张表有100多个字段,手写有些不现实. 这时我们会借助一些工具,如:动软代码生成器.各种ORM框 ...

  8. elasticsearch中query和filter的区别

    参考博客来自: https://mp.weixin.qq.com/s/tiiveCW3W-oDIgxvlwsmXA?utm_medium=hao.caibaojian.com&utm_sour ...

  9. 使用反应式关系数据库连接规范R2DBC操作MySQL数据库

    1. 简介 三月份已经介绍过R2DBC,它是一种异步的.非阻塞的关系式数据库连接规范.尽管一些NoSQL数据库供应商为其数据库提供了反应式数据库客户端,但对于大多数项目而言,迁移到NoSQL并不是一个 ...

  10. CLR垃圾收集器

    CLR GC是一种引用跟踪算法,大致步骤如下: 1.暂停进程中所有的线程: 2.标记阶段,遍历堆中的所有对象,标记为删除,然后检查所有活动根,如果有引用对象,就标记那个对象可达,否则不可达: 3.GC ...