zoukankan      html  css  js  c++  java
  • 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。 

    Softtabstop:表示在编辑模式的时候按退格键的时候退回缩进的长度,当使用 expandtab 时特别有用。 
     
    Shift表示每一级缩进的长度,一般设置成跟 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
     
     
     
     
  • 相关阅读:
    使用 mysql_random_data_load 生成随机数据
    TeamViewer 运行 AlterID 时候报错Cloud not create a fake UUID
    1.6 在WHERE子句中引用取别名的列
    本地登录多实例mysql ,默认登录数据库问题
    统计前10位的占用空间较大的目录
    Oracle查看用户权限
    [LeetCode]Binary Tree Preorder Traversal
    [LeetCode]Insertion Sort List
    [LeetCode]Implement strStr()
    [LeetCode]Remove Element
  • 原文地址:https://www.cnblogs.com/timssd/p/4641931.html
Copyright © 2011-2022 走看看