vim的配置文件及常用的快捷键
一些最简单的配置,即在.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的配置文件及常用的快捷键的更多相关文章
- linux下vim配置以及一些常用的快捷键
一些常用的vim编辑器快捷键: h」.「j」.「k」.「l」,分别控制光标左.下.上.右移一格. 按「ctrl」+「b」:屏幕往“后”移动一页. 按「ctrl」+「f」:屏幕往“前”移动一页. 按「c ...
- Ubuntu vim终端常用的快捷键
Ubuntu中常用的快捷键 Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作更得心应手.在Ubuntu中打开终端的快捷键是Ctrl+Alt+T.其他的一些常用的快捷 ...
- 【Linux 操作系统】vim编辑器配置及常用命令
最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...
- 安卓程序代写 网上程序代写[原]vim编辑器配置及常用命令
最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...
- vim编辑器配置及常用命令
最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...
- Xcode自定义Eclipse中常用的快捷键
转载自http://joeyio.com/2013/07/22/xcode_key_binding_like_eclipse/ Xcode自定义Eclipse中常用的快捷键 22 July 2013 ...
- xcode 自定义Eclipse里边常用的快捷键
之前在用Eclipse写Java的 时候,有几个常用的快捷键,比如删除当前行,在当前行下面插入空行,向上/下移动当前行等等,到了Xcode里怎么也找不到这些快捷键,一直觉得 Xcode自带的快捷键不够 ...
- Ubuntu终端常用的快捷键(转载)
本文转自:https://www.cnblogs.com/nucdy/p/5251659.html 侵删 Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作更得心应 ...
- vim实现CTRL+S为保存快捷键
用vim正撸代码撸的飞起,突然Xshell就掉线了,真是太蛋疼了. 于是开始怀念起vs下撸代码时随时随地ctrl+s保存的快捷键,百度了一下,网上的vim实现ctrl+s保存的快捷键设置都有问题,自己 ...
随机推荐
- PullToRefresh 下拉刷新的样式修改
资源文件结构图, 先看看下拉刷新头的布局, <?xml version="1.0" encoding="utf-8"?> <merge xml ...
- [UML]转:UML类图集中关系的总结
转:http://blog.csdn.net/dragonpeng2008/article/details/6836448 在UML类图中,常见的有以下几种关系: 泛化(Generalization) ...
- 杭电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 ...
- hdu1081 To the Max
直接暴力枚举所有子矩形至少需要O(n^4)的复杂度,显然这不是一个合理的解决方法. 上述方案忽略了矩形之间的联系,进行了过多不必要的计算. 实际上如果固定矩形的左右边界,则底边在i行的矩形内数值之和与 ...
- 【TCP】超时与重传
在TCP连接中假设发送方一开始便向网络发送多个报文段,直到达到接收方通告的窗口大小为止.当发送方和接收方处于同一个区域网段时,这种方式是可以的.但是如果发送方和接收方之间存在多个路由器和速率较慢的链路 ...
- 转载-python学习笔记之输入输出功能读取和写入数据
读取.写入和 Python 在 “探索 Python” 系列以前的文章中,学习了基本的 Python 数据类型和一些容器数据类型,例如tuple.string 和 list.其他文章讨论了 Pytho ...
- 用python requests库写一个人人网相册爬虫
担心人人网会黄掉,写个爬虫,把我的相册照片都下载下来.代码如下: # -*- coding: utf-8 -*- import requests import json import os def m ...
- Java总结反射
[案例1]通过一个对象获得完整的包名和类名 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package Reflect; /** * 通过一个对象获得完整的包名和类名 ...
- Form1是父,form2是子,2的出现(覆盖在1的上面)不耽误1的操作
//在form1的点击事件中 form2 f2=new form2(); f2.owner=this;//很重要 f2.show();
- jQuery Validation remote的缓存请求
不知大家有没有遇到,用jQuery Validation(本文讨论的版本为jQuery Validation Plugin 1.11.1)用remote方式做校验时,如果验证元素的值保持一致,进行多次 ...