一些最简单的配置,即在.vimrc中可以写入的配置:

首先,说明一点,在.vimrc文件中,可以用“  把一行的配置注销掉。

set nocompatible  “关闭 vi 兼容模式;其中 compatilble 英文意思就是兼容

set nobackup       “覆盖文件时,不备份;其中 backup 英文意思就是备份的意思

syntax on            “ 自动语法高亮;  syntax表示语法的意思;

set number          “ 显示行号;

set cursorline         ” 突显当前的行;  其中cursor 英语就是光标的意思(在打开状态栏的前提下有作用);

set ruler               “ 打开状态栏标尺;

set tabstop=8       “ 表示tab键长度为8;

set smartindent    “set smartindent :为C程序提供自动缩进

set cindent             “ 可以自动缩进;  其中 incent 表示缩进的意思;以上两行都是编程用的c自动缩进

1.设置(软)制表符宽度为4 
set tabstop=4 
set softtabstop=4 
2.设置缩进的空格数为4 
set shiftwidth=4 
3.设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置: 
set autoindent 
4.使用 C/C++ 语言的自动缩进方式 
set cindent 
5.设置C/C++语言的具体缩进方式(以我的windows风格为例): 
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s 
6.显示行号 
set nu 
7.显示标尺 
set ruler 
8.将搜索内容反白 
set hlsearch 
9.可以删除任意值 
set backspace=2

一些简单的快捷键

说明:vimtutor 是一个很好的 vim 学习文档,在命令行直接输入 vimtutor 即可。

用 A 在一行的末尾添加;

删除相关的按键:

x删除光标处的一个字母;

一个简短的动作列表:
   dw - 从当前光标当前位置直到下一个单词起始处(包括与下一单词间的空格),也可以为d2w,d3w;
   de - 与上面相同,                         但是(不包括与下一个单词间的空格),也可以d2e,d3w;
   d$ - 删除从当前光标当前位置直到当前行末。

d0-删除从当前光标当前位置直到当前行首。

dd- 删除光标所在的行;          试试2dd的效果??

另处,

还有,要改变文本直到一个单词的末尾,请输入 ce 或 cw;

还有,c0,c$,可以自己试试 ,与d0,d$相似;

光标移动相关按键:

最基本的移动键:hjkl;

输入$移动到行首;输入0,移动到行尾;

输入w或e,一个个单词的移动;

b:与w相反;

ge:与e相反

输入 :0 (数字零) 或gg 移动光标到文件首。

输入 :$ 或 G 移动光标到文件末。

输入 :+数字 ,光标移动到“数字”行。

输入 2w 使光标向后移动两个单词。

输入 3e 使光标向后移动到第三个单词的末尾。

0,当前行行首;

$,当前行行尾;

H 前屏幕首行行首
  M 屏幕显示文件间行行首
  L 前屏幕底行行首

显示相关按键:

ctrl + g ,显示文件状态与光标所在行;

撤消相关的按键:

输入 u 来撤消最后执行的命令;

输入 U 来撤消对整行的修改。

输入ctrl-r恢复被撤消的命令;

复制粘贴键:

p为粘贴鍵;

y为复制键;

使用 v 进入可视模式,,移动光标选中,使用操作符 y 复制文本,使用 p 粘贴文本。

按ctrl+v,进入块选择可视模式;

替换相关按键;

s 将当前字符替换为一个或多个字符

S 将当前行替换为一个或多个字符

输入 r 和一个字符替换光标所在位置的字符。

输入大写的 R 可连续替换多个字符。

输入 :s/old/new/g 可以替换 old 为 new, 光标所在的一行;

输入 :s/old/new。请注意该命令只改变光标所在行的第一个匹配串。

输入   :#,#s/old/new/g   其中 #,# 代表的是替换操作的若干行中首尾两行的行号。

输入   :%s/old/new/g     则是替换整个文件中的每个匹配串。

插入:

按i,在光标处插入;

输入 o 将在光标的下方打开新的一行并进入插入模式。

输入 O 将在光标的上方打开新的一行并进入插入模式。

查找:

首先:

:set ic(ignorecase 的缩写) 忽略大小写
:set noic(noignorecase 的缩写) 不忽略大小写

输入/ 或?(搜索方向不一样),再输入你要找的内容,就可以啦,输入n或N移动;

输入%,可以查找配对的括号)、]、}等;

多栏窗口

new,新建一栏空白窗口(水平显示);

split,将当前文件分两栏显示(水平显示);

vnew,新建一栏空白窗口(垂直显示);

vsplit,将当前文件分两栏显示(垂直显示);

注:先按下 <ctrl+w> 键,再按下方向键 j 、 k 、 l 、 h ,您可以切换到其它栏;果您希望当前命令在所有栏中生效,您可以在命令的末尾追加 all。

另外:

输入:!+命令,可以执行shell外部命令;

输入:w +文件名,可以把当前打开的文件保存为该名字;

输入: r + 文件名,可以提取文件名的内容放入光标处;

:r + !+命令,把命令的输出放入光标处;

先写到这里,以后再补充。

vim的配置文件及常用的快捷键的更多相关文章

  1. linux下vim配置以及一些常用的快捷键

    一些常用的vim编辑器快捷键: h」.「j」.「k」.「l」,分别控制光标左.下.上.右移一格. 按「ctrl」+「b」:屏幕往“后”移动一页. 按「ctrl」+「f」:屏幕往“前”移动一页. 按「c ...

  2. Ubuntu vim终端常用的快捷键

    Ubuntu中常用的快捷键 Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作更得心应手.在Ubuntu中打开终端的快捷键是Ctrl+Alt+T.其他的一些常用的快捷 ...

  3. 【Linux 操作系统】vim编辑器配置及常用命令

    最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...

  4. 安卓程序代写 网上程序代写[原]vim编辑器配置及常用命令

    最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...

  5. vim编辑器配置及常用命令

    最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...

  6. Xcode自定义Eclipse中常用的快捷键

    转载自http://joeyio.com/2013/07/22/xcode_key_binding_like_eclipse/ Xcode自定义Eclipse中常用的快捷键 22 July 2013 ...

  7. xcode 自定义Eclipse里边常用的快捷键

    之前在用Eclipse写Java的 时候,有几个常用的快捷键,比如删除当前行,在当前行下面插入空行,向上/下移动当前行等等,到了Xcode里怎么也找不到这些快捷键,一直觉得 Xcode自带的快捷键不够 ...

  8. Ubuntu终端常用的快捷键(转载)

    本文转自:https://www.cnblogs.com/nucdy/p/5251659.html  侵删 Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作更得心应 ...

  9. vim实现CTRL+S为保存快捷键

    用vim正撸代码撸的飞起,突然Xshell就掉线了,真是太蛋疼了. 于是开始怀念起vs下撸代码时随时随地ctrl+s保存的快捷键,百度了一下,网上的vim实现ctrl+s保存的快捷键设置都有问题,自己 ...

随机推荐

  1. PullToRefresh 下拉刷新的样式修改

    资源文件结构图, 先看看下拉刷新头的布局, <?xml version="1.0" encoding="utf-8"?> <merge xml ...

  2. [UML]转:UML类图集中关系的总结

    转:http://blog.csdn.net/dragonpeng2008/article/details/6836448 在UML类图中,常见的有以下几种关系: 泛化(Generalization) ...

  3. 杭电1019-Least Common Multiple

    #include<stdio.h>int gcd(int a,int b);int main(){    int n,m,a,b,i,sum;//sum是最小公倍数    scanf(&q ...

  4. hdu1081 To the Max

    直接暴力枚举所有子矩形至少需要O(n^4)的复杂度,显然这不是一个合理的解决方法. 上述方案忽略了矩形之间的联系,进行了过多不必要的计算. 实际上如果固定矩形的左右边界,则底边在i行的矩形内数值之和与 ...

  5. 【TCP】超时与重传

    在TCP连接中假设发送方一开始便向网络发送多个报文段,直到达到接收方通告的窗口大小为止.当发送方和接收方处于同一个区域网段时,这种方式是可以的.但是如果发送方和接收方之间存在多个路由器和速率较慢的链路 ...

  6. 转载-python学习笔记之输入输出功能读取和写入数据

    读取.写入和 Python 在 “探索 Python” 系列以前的文章中,学习了基本的 Python 数据类型和一些容器数据类型,例如tuple.string 和 list.其他文章讨论了 Pytho ...

  7. 用python requests库写一个人人网相册爬虫

    担心人人网会黄掉,写个爬虫,把我的相册照片都下载下来.代码如下: # -*- coding: utf-8 -*- import requests import json import os def m ...

  8. Java总结反射

    [案例1]通过一个对象获得完整的包名和类名 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package Reflect;   /**  * 通过一个对象获得完整的包名和类名 ...

  9. Form1是父,form2是子,2的出现(覆盖在1的上面)不耽误1的操作

    //在form1的点击事件中 form2 f2=new form2(); f2.owner=this;//很重要 f2.show();

  10. jQuery Validation remote的缓存请求

    不知大家有没有遇到,用jQuery Validation(本文讨论的版本为jQuery Validation Plugin 1.11.1)用remote方式做校验时,如果验证元素的值保持一致,进行多次 ...