我的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. Linux服务器安装python3.6

    CentOS 7上默认安装的python版本是2.7.5,系统自带的旧版本python被系统很多其他软件环境依赖,因此不能卸载原Python,直接选择Python3.6.5进行全新安装. 1 安装Py ...

  2. winxp系统连接服务器丢包解决方法

    winxp系统连接服务器丢包解决方法 MFC编写一个打开网页的程序,发生异常没有获取到数据. 分析步骤: 1. 用getLastError()获取到的信息,(2)- 系统找不到指定的文件. 2. 用浏 ...

  3. 11、vue-路由

    1.路由: 官方提供一个插件,构建单页面应用,主要实现得功能页面得切换.组件得跳转 2.vue中得路由:vue-router包,如果是脚手架进行搭建得,那么是不需要安装vue-router这个包得,因 ...

  4. 利用synchronized解析死锁的一种形成方式

    代码 import ... public class Test{ private static Object o1=new Object(); private static Object o2=new ...

  5. css3 小三角的用法

    <div class="arrow-up"> <!--向上的三角--> </div> <div class="arrow-dow ...

  6. 如何用HMS Nearby Service给自己的APP开发一个名片交换功能?

      在工作和生活中,遇见新的同事或者合作伙伴,交换名片是一个常见的用户需求,纸质名片常忘带.易丢失,是客户的一个痛点.因此,市场上出现了很多交换电子名片的APP和小程序.那么,如何给自己的APP开发一 ...

  7. 半导体质量管理(LineWorks)_SPACE(统计过程分析和控制环境)

    LineWorks作为SEMI的质量管理,可为半导体制造商提供对实施标准,产品质量,质量和指标验证的全面控制.有许多附加模块和SPACE-Chart插件,可根据个人需求进行灵活调整. 三个主要特征是: ...

  8. MySQL 8.0 主从同步

    一.简介 一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中.MySQL主从复制的基础是主服务器对数据库修改记录二进制日志,从服务器通过主服务器 ...

  9. CentOS下安装python3环境及pypy环境

    安装前基础环境 1. win7虚拟机CentOS7.6系统 2. 网络环境通过NAT方式 3. 已经配置到yum仓库并系统自带有python2.7 安装前准备 1. python3.6.5源码包:ht ...

  10. 理解css中Grid布局,在项目中如何实现grid页面布局

    简介 CSS中Grid是一种二维网格式布局方式.我们常规使用table.float.position.inline-block等布局,但它们遗漏了很多功能,例如垂直居中.后来css3中flexbox的 ...