10 set shiftwidth=4
 11 set softtabstop=4
 12 set textwidth=200
 13 set nu
 14 set autoindent
 15 set noexpandtab
 16 set cindent
set tabstop=2

Tabstop:表示一个 tab 显示出来是多少个空格的长度,默认 8。

Softtabstop:表示在编辑模式的时候按退格键的时候退回缩进的长度,当使用 expandtab 时特别有用。 
 
Shiftwidth:表示每一级缩进的长度,一般设置成跟 softtabstop 一样。 当设置成 expandtab 时,缩进用空格来表示noexpandtab 则是用制表符表示一个缩进。 
Nu:表示显示行号。 
 
Autoindent:表示自动缩进。 
Cindent:是特别针对C语言自动缩进。
 
 
 

VIM 中设置Tab

灵活操作 Vim 中的 Tabsgaleki post @ 2007年11月16日 05:07PM in Vim Tips with tags: vim tabs

Vim 支持 Tabs,也就是标签页编辑,很爽~

操作标签页的基本命令如下:

  • :tabnew : 打开一个新的标签页。
  • :tabprevious : 回到上一个标签页。
  • :tabnext : 到下一个标签页。

但是每次新建或者切换标签,都要打上这么一长串的命令,实在是麻烦,我们可以在配置文件中设置一下快捷键,如下:

:map <F5> :tabprevious<CR>
:map <F6> :tabnext<CR>
:map ^T :tabnew<CR>
:imap <F5> <ESC>:tabprevious<CR>i
:imap <F6> <ESC>:tabnext<CR>i
:imap ^T <ESC>:tabnew<CR>i

这样 F5 是向前,F6 是向后,Ctrl+t 是打开新的标签页,在插入模式下,也管用~ 当然你可以把上面的设置换成你习惯的键位~

不过,打开新标签页,每次都打开一个空白的标签页,然后再去选择文件,似乎有点折腾,如果新打开的标签页中显示当前目录下的文件,可以从中选择,那就好了~

实现很简单,在 :tabnew 后面给出目录名就可以了,当前目录的话,是 .:

:map <F5> :tabprevious<CR>
:map <F6> :tabnext<CR>
:map ^T :tabnew .<CR>
:imap <F5> <ESC>:tabprevious<CR>i
:imap <F6> <ESC>:tabnext<CR>i
:imap ^T <ESC>:tabnew .<CR>i

你也可以把 '.' 替换成你常用的目录~

这样做个小的改动,标签页比原来方便了不少~

 
 
"在选择模式下系统级复制
vmap ,c "+y<ESC>
vmap ,C "+Y<ESC>
"在选择模式下系统级剪切
vmap ,x x:let @+=@"<CR>
"系统级复制
nmap ,v "+p
nmap ,V "+P
"全选
nmap ,a ggvG$
"以浏览选择的方式打开文件
map ,o :browse e<CR>
"在新TAB里打开文件
map ,to :tabnew<CR>:browse e<CR>
"保存文件
map ,s :browse w<CR>
"取消高亮
map ,nh :nohlsearch<CR>
"重新加载.vimrc设置文件
map ,ls :source ~\.vimrc<CR>:nohlsearch<CR>
"切换到16进制编辑方式
map ,b :%!xxd<CR>
"切换回正常编辑方式
map ,B :%!xxd -r<CR>
"用于WINDWS下文件打印
map ,tp ggvG$"+yggvG$x:set enc=cp936<CR>"+P:hardcopy<CR>ggvG$"+yggvG$x:set enc=utf-8<CR>"+P
"打开文件目录树窗口
nmap <silent> <F2> :NERDTree<CR>
"用,e实现ESC键的功能,用于IPAD外接键盘。
map ,e <ESC>
imap ,e <ESC>
 
 
 
 

vim 自定义 快捷键

Vim中有三类模式,正常模式(normal),插入模式(insert)和可视模式(visual)。

正常模式中可以执行命令。默认情况下,Vim启动后会进入这个模式。
插入模式中可以插入文本。
可视模式中可以可视化地选择一段文本,然后仅针对这段文本执行命令或操作。

按下v启动可视模式。
按箭头键或移动命令来选择文字

commend   normal   Visual   OperatorPending     InsertOnly  CommandLine

命令              常规模式     可视     运算符模式             插入模式         命令行模式

:map              y                   y                 y

:nmap            y

:vmap                                y

:omap                                                  y

:map!                                                                                       y                          y

:imap                                                                                       y

:cmap                                                                                                                  y

比如使用以下命令,指定F10键来新建标签页:

:map <F10> <Esc>:tabnew<CR>

其中:<Esc>代表Escape键;<CR>代表Enter键;而功能键则用<F10>表示。首先进入命令行模式,然后执行新建标签页的:tabnew命令,最后返回常规模式。

同理:对于组合键,可以用<C-Esc>代表Ctrl-Esc;使用<S-F1>表示Shift-F1。对于Mac用户,可以使用<D>代表Command键。

注意:Alt键可以使用<M-key>或<A-key>来表示。

关于键盘符号的详细说明,请使用:h key-notation命令查看帮助信息

其它示例:

map <F5> <Esc>:!!<CR>                                   #重复上一次的,shell命令
map <F4> <Esc>:%!python -m json.tool<CR>  #格式化json

 
 
 
 

vimTAB宽度等设置的更多相关文章

  1. fancybox 点击 js脚本判断验证,fancybox的宽度高度设置

    当我们在使用fancybox做弹出窗口的时候,可能在弹窗之前就需要判断一些验证条件,例如我这里有个案例,用户必须先得勾选一个 那么怎么做呢?我们用到fancybox的一个onStart方法就可以了 $ ...

  2. span宽度高度设置

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  3. Latex 中宽度的设置和理解

    \textwidth, 文本区域的全部宽度 \columnwidth, 文本中一列的宽度,单栏或者多栏的情况下,值是不同的 但是,一旦\textwidth, \columnwidth, \linewi ...

  4. 网站图片列表动态显示、根据屏幕宽度动态设置DIV的CSS样式

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. DataTables固定表格宽度(设置横向滚动条)

    当表格的列比较多的时候,可能就需要固定表格的宽度了,默认的100%宽已经不适应了.默认的100%宽要实现改变窗口大小也100%的话,在table元素上添加width="100%", ...

  6. NumberPicker设置宽度,设置文字颜色

    修改宽度 wheel = (NumberPicker) findViewById(R.id.info_wheel_province); wheel.setLayoutParams(new Linear ...

  7. Android自定义Toast宽度无法设置问题解决

    在项目中想要实现一个头部的toast提示效果,类似下图  再实现的过程中发现,如果直接通过修改Toast的View布局的父控件宽度是无法实现效果的,后来是通过直接用代码指定父控件内部的textview ...

  8. jquery mCustomScrollbar 滚动条宽度的设置

    一.项目使用 $("#iscroll-1, #tree_box, .work, .item1, .item2, .item3, .item4").mCustomScrollbar( ...

  9. 使用autolayout,设置子控件的宽度 与父视图的宽度成比例大小(这样类似可以设置多个按钮平均横屏排列)

    橙色是父视图,假设约束如上图. 绿色是子视图.重点宽度比例设置: 1. control-drag 选择 equal width2. 选中上面那个约束 注意 first item 和 second it ...

随机推荐

  1. 实现一个Memcpy函数:将源指针所指的区域从起始地址开始的n个字节复制到目的指针所指区域

    首先肯定要先看看这两部分是不是有内存重叠?为什么? 1.因为如果有内存重叠(目的地址起始位置处于源指针所指区域之中),你再从起始位置复制的话,这样目的地址改变的时候将源地址内存里面存的东西给改变了,所 ...

  2. SQL Server 内存压力解决方案

    外部压力: 表现形式: 1.total server memory ↓ 2.avilable Mbyte           平衡 3.working set              ↓ 如果说SQ ...

  3. DIV周边添加投影及背景固定

    DIV周边添加投影.tou{ width:1000px; height:300px; border:0px solid #999; background:#FFF; margin:0 auto; ma ...

  4. 【stm32】ADC的规则通道和注入通道混合使用

    之前完成了规则通道DMA的数据传输了,不过平时在使用ADC的时候可能就会遇到很多情况,不可能就这样简单的按规则通道来采样,DMA存储,使用数据的:可能有时候会需要立刻采样,那样我们就需要利用到注入通道 ...

  5. pack布局

    Chapter 2. Geometry Management 第2章 布局管理: 显示部件在屏幕上,他们必须被传递给布局管理器. 布局管理器 控制部件的位置和大小 在显示窗口,几个布局管理器是可用的在 ...

  6. 2014第6周五JS调试

    今天才发现chrome调试前端尤其是JS真是很方便,难怪之前公司几个前端高手都用chrome的开发者工具来调试.把今天知道的chrome调试方法收集整理一下,在今后的开发调试中都可能会用到: Prof ...

  7. 顶尖数据挖掘教学案例库(TipDM-C10)产品白皮书

          顶尖数据挖掘教学案例库 (TipDM-C10)           产  品  说  明  书 广州泰迪智能科技有限公司 版权所有 地址: 广州市经济技术开发区科学城232号 网址: ht ...

  8. 区间dp-hdu-4745-Two Rabbits

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4745 题目意思: 给n个环状的数,A.B两人沿相反的方向走,每单位时间走一步,要求相同时间两人到达相 ...

  9. 网易云课堂_Linux操作系统入门(嵌入式开发零基础Ⅰ)_章节4:SHELL 环境

    课时44命令别名 命令别名 命令别名的概念: 命令别名的查看:alias 命令别名的设置:alias myls='ls -a' 课时45通配符 通配符 通配符都概念: 通配符是代表字符通用匹配的一种系 ...

  10. hdu 5607 graph (矩阵乘法快速幂)

    考虑一个经典的问题: 询问从某个点出发,走 k 步到达其它各点的方案数? 这个问题可以转化为矩阵相乘,所以矩阵快速幂即可解决. 本题思路: 矩阵经典问题:求从i点走k步后到达j点的方案数(mod p) ...