vimTAB宽度等设置
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。
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宽度等设置的更多相关文章
- fancybox 点击 js脚本判断验证,fancybox的宽度高度设置
当我们在使用fancybox做弹出窗口的时候,可能在弹窗之前就需要判断一些验证条件,例如我这里有个案例,用户必须先得勾选一个 那么怎么做呢?我们用到fancybox的一个onStart方法就可以了 $ ...
- span宽度高度设置
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- Latex 中宽度的设置和理解
\textwidth, 文本区域的全部宽度 \columnwidth, 文本中一列的宽度,单栏或者多栏的情况下,值是不同的 但是,一旦\textwidth, \columnwidth, \linewi ...
- 网站图片列表动态显示、根据屏幕宽度动态设置DIV的CSS样式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- DataTables固定表格宽度(设置横向滚动条)
当表格的列比较多的时候,可能就需要固定表格的宽度了,默认的100%宽已经不适应了.默认的100%宽要实现改变窗口大小也100%的话,在table元素上添加width="100%", ...
- NumberPicker设置宽度,设置文字颜色
修改宽度 wheel = (NumberPicker) findViewById(R.id.info_wheel_province); wheel.setLayoutParams(new Linear ...
- Android自定义Toast宽度无法设置问题解决
在项目中想要实现一个头部的toast提示效果,类似下图 再实现的过程中发现,如果直接通过修改Toast的View布局的父控件宽度是无法实现效果的,后来是通过直接用代码指定父控件内部的textview ...
- jquery mCustomScrollbar 滚动条宽度的设置
一.项目使用 $("#iscroll-1, #tree_box, .work, .item1, .item2, .item3, .item4").mCustomScrollbar( ...
- 使用autolayout,设置子控件的宽度 与父视图的宽度成比例大小(这样类似可以设置多个按钮平均横屏排列)
橙色是父视图,假设约束如上图. 绿色是子视图.重点宽度比例设置: 1. control-drag 选择 equal width2. 选中上面那个约束 注意 first item 和 second it ...
随机推荐
- 初学swift笔记 继承(十)
import Foundation /* 继承 class childClass: FatherClass{ } 优点 代码重用 缺点 增加程序的藕合度 父类的改变会影响子类 只能单继承 */ cla ...
- JS常见操作
//第一篇博文,希望大家多多支持 /***** BasePage.js 公共的 脚本文件 部分方法需引用jquery库 *****/ //#region 日期操作 //字符串转化为时间. functi ...
- Azure File SMB3.0文件共享服务(4)
在Linux上使用Azure文件共享服务 使用SMB 3.0从用户自己的数据连接到Azure,需要加密连接,但目前的Linux SMB客户端都暂时都不支持,Linux的开源社区正在努力将该功能添加到L ...
- webview相关链接
http://tech.it168.com/a2011/0517/1191/000001191561_2.shtml http://www.eoeandroid.com/thread-272495-1 ...
- linux下设置ip地址 gw网关,dns的方法
本文介绍下,在linux中设置IP地址.网关.dns的方法,有需要的朋友作个参考吧. 设置linux网络的方法有两种:第一种:使用命令修改(直接即时生效) 复制代码代码示例: ip and net ...
- bzoj3299 [USACO2011 Open]Corn Maze玉米迷宫
Description 今年秋天,约翰带着奶牛们去玩玉米迷宫.迷宫可分成NxM个格子,有些格子种了玉 米,种宥玉米的格子无法通行. 迷宫的四条边界上都是种了玉米的格子,其屮只有一个格子 没种,那就是 ...
- JIRA官方:JIRA源代码集成
防火墙后的Git 使用Atlassian Stash创建和管理Git存储库,设置细粒度的权限并在代码上协作.这一切—安全.快速.可靠,更重要的是,可以部署在防火墙后面.JIRA问题关键字自动将JIRA ...
- 充分利用CPU高速缓存,提高程序效率(原理篇)
提高程序效率应该充分利用CPU的高速缓存.要想编写出对CPU缓存友好的程序就得先明白CPU高速缓存的运行机制. i5-2400S: 1.有三级缓存分别为 32k(数据.指令缓存分开,分为32k),25 ...
- hdu 1242 Rescue_bfs+优先队列
翻出以前的代码看看 题意:走迷宫,遇到敌人要花一分钟. #include<iostream> #include<queue> using namespace std; char ...
- MongoDB C driver API continues
开篇前 <1,mongoc_init() func> mongoc_init() Synopsis void mongoc_init (void); Description This fu ...