参考:http://blog.csdn.net/shuangde800/article/details/11430659 很好

  1. 鼠标在各个窗口间循环移动:

    ctrl+w+(小写的 hjkl), "非线性"的跳转的: ctrl_w+t(top : 左上角, +b: bottom, 右下角), p: preview: 上一个子窗口.

    set mouse=a 所有all 的状态下都可以使用 鼠标..

  2. 窗口本身的位值的移动:

    ctrl_w + r: 窗口本身, 不是鼠标指针顺时针 (向下, 向右 移动), R : 则是逆时针反方向(向上, 向左)移动.

    ctrl_w+x: 左右上下对应位置的窗口 对调. 要注意窗口必须是 对应的, 如果不对应将无法对换, 比如左边一个大窗口, 右边有两个小的 子窗口, 则左右不能互换.

  3. 窗口本身 的位置移动, 而且大小也发生"最大化"变化

    Ctrl_w+ HJKL( 注意是大写的字母 H, J, K, L , 表示要按shift才能实现的)... 要注意, 可以通过 windows 窗口 "贴边" 最大化来理解, H和 L 就是 向左或向右 最大化贴边 显示; 而 JK 则是 向上 或 向下 贴边 最大化显示. 最大化后 就不能 再次操作复原窗口了, 其实也没有必要

  4. 调整窗口的水平/垂直尺寸?

    用ctrl+ w 结合 >, <调整水平尺寸, 用+ - 调整垂直尺寸, 这个是微调. 也可以用纯粹的命令用 :resize +/- n, 或者 vertical resize +/- n (支持命令简写, 但是要能够使命令被唯一确定才行. 通常要用5,10,15, 20的大小间隔来调...太小了没有意义)

  5. 除了这些调整/ 遍历鼠标的方法, 还有一个关闭子窗口的问题. 关闭的方式, 除了命令外, 还有窗口关闭 的方式: 用ctrl+w + q(quit), c(close), o(other)等.


在vim中, :ls 表示list, 它列出的, 正是 缓冲区中 的内容. 等同于 :buffers.

通过 :ls, 还可以查看各个编辑文件的位置等信息...

而!ls才是列出当前路径下的文件信息..

如何使buffermini窗口最小化?

先使某个子窗口向左最大化, ctrl_w_H, 然后水平向下最大化 ctrl_w+J, 就可以把其他窗口都 "憋" 到最小化.

set mouse=a的神奇功效!

即使在vim命令窗口, 也可以实现 鼠标 的激活功能; 除此之外, 鼠标还可以 可是化的, 手动的调整拖拽调整 各个窗口的大小; 还可以直接用鼠标单击miniBuffer上的文件标签而打开文件

窗口位置的调整,使用的快捷键, ctrl_w, 只是适合字符界面窗口, 如果是分页标签窗口,则不可以, 因为此时ctrl_w表示关闭窗口????

**一切知识只有在用中学, 只有需求才能真正让你掌握一种东西, 这真是真理阿 nerdtree在真正的写代码, 程序开发中, 才会显得那么重要! **

.. (up a dir)其实是排除在Tree之外的. 树的root在.. 之下, 用浅橙色表示的那个就是. x是关闭parent dir, 如果当前本身就是root了,再用x就无效,而且底部报错.

open和preview的区别? 当然是有区别的! preview只是打开文件, 只是预览, 鼠标 光标的焦点还是还是在Nerd这里, 可以再次连续操作Nerd, 而不用切换子窗口光标 , 是在 对应的操作 前面加上g

要分类别的记忆nerd的mappings.

file node mappings: enter, douleclicks,o都是在上一窗口打开 (不会新开一个子窗口);go 同样占用上一个窗口, 但是是preview.

directory node mappings: o: open/close 按原样(不展开不折叠)..; O: recursively打开;x: close parent, X: 遍历地关闭当前目录的所有子目录

Tree navigation mappings: p, P, j, k, J, K, c-j, c-k;

FileSystem mappings: u, U(都是将root上移一级,U不关闭原来的), r刷新光标所在目录, R 刷新root目录, cd 将当前目录设为选中的目录, C 将root设置为当前选择的目录, CD将root设为当前目录...

Tree filter mapping:

I: 显示/隐藏 (.文件)

F:(显示/隐藏)普通文件.

另外, nerd窗口, 跟其他窗口一样, 它还相当于一个文件!支持 gg, G, ^f ^u等跳转, 支持搜索...

nerd如何使用书签?

首先要打开/启用标签, 在NerdTree中, 按B(大写的).

然后就会出现---bookmarks--- 这个书签列表.

在 bookmark table mappings 上的快捷健就是 针对这个bookmarks table列表而言的.

包括o打开书签(目录的话, 就将书签设置为root, 相当于C命令). D 删除书签.

书签等"软件功能", 要根据自己的 设计来 实现 "软件功能", 不必一定按某个模式框框来做.

vim的set & let的区别: set是全局性的设置, 而let通常是针对某一个软件自身的设置. NERDTree的自动显示书签的设置:

let NERDTreeShowBookmarks = 1
let NERDTreeWinPos = left // 设置nerdtree的窗口位置

如何删除某个buffer?

使用命令: bdelete num, 简写位 : bdel num, 如 bdel 3. 或者直接简写为 bd 3

另外bp, bn

为什么nerdtree窗口中的文件出现那么多的星号?

是指, 如果文件是可执行文件, 就会在nerdtree窗口中, 以星号表示, 标识.标识.

nerdtree的书签功能很强大, 可以把你常用的 经常要操作的目录, 文件都集中起来, 而不会去 换来换去

vim, nerdtree, mysql, 包括所有的linux, 都是最接近程序的本质的,一切都是字符, 一切都在你的头脑中.

Nerdtree中的 文件系统的 快捷键映射?

cd 快捷键, (注意不是 :方式的 editor 命令), 相当于 cd the_selected_dir, 就是将cwd切换到当前选中的目录.

CD (大写字母是针对 tree root而言的), 是将root 设置为, cwd.

C = change, 就是将 tree root设置为当前选中的目录...

两行合并的操作, 记得是j什么的, 但不是 ctrl+j, 而是 使用 大写的 J

在vim中, 快速 跳转的方式:

补充两点: 在最近之前的那一次, 位置之间 跳转, 两个单引号 ' ', 在上下行的 行首 之间跳转, 使用的是 加号 和减号 这个还是很方便的.


如何区分alt+f7 和 f8?

f7是移动窗口, 只是出现一个手形状,

f8是改变窗口的大小, 在手形的下方有窗口大小的数字表示. 那么根据数字就可以区分了.

使用vim的高级操作命令

vim的命令,开始只能记住一些基本的, 常用的命令, 要使用一些更 高效的命令, 只能在 熟练之后, 再反复使用, 才能掌握, 如fd, = find 字符d, 但是有多个字母反复查找就比较麻烦, 直接使用: nfx: 如3f"你要查找的字符", nFx, 而如果要移动到查找字符的前一个字符, 用t或T, 还可以结合分号, 和逗号来移动!

又比如: 到某一行使用 冒号+行号, 更高效的命令是: 行号+G. 而更神奇的移动方法是用 数字+%, 跳转到百分之多少的地方

交换当前字符和它后面的一个字符xp.

vim的窗口最大化, ctrl_w+大写的hjkl, h和l其实是反的, 不是在水平方向上最大化, 而是在竖值方向上最大化,H就是靠左, 在竖直方向上最大化.

vim中的c命令?

cw,是修改一个单词, cc是修改整行, 而 C 是修改到行尾的内容 = c$, 类似的, d是删除, dw, dd, D =d$, 删除到行尾的内容!

同一个子窗口中, 如果打开过多个文件, 可以使用 ctrl+^, 在他们之间切换.

对于放弃和保存, 使用all表示针对所有的, 就不用一个文件一个文件的进行保存了.

:wa, :qa

vim中, 几乎所有的命令都支持 "倍数" 操作: (以dd为例): 倍数n所在的位置有 两种方式 ndw 或者 dnw, 两者的命令结果虽然 是一样的, 但是, 他们 的 含义和操作方式是不同的! ndw 是指dw这个操作重复n次, 而 dnw 则是操作一次, 但是一次删除n个单词. 其他命令也是类似的.


RSI: re'petitive strain injury, 重复性疲劳(应力, 张力)损伤.

使用 linux下的 提醒软件: workrave.

在vim中设置和命令的区别?

设置使用 set命令, 命令的话, 直接使用冒号, 前面不用set. 所以, 如果一个命令用set出错, 而且报错: invalid argument(s)/option(s), 就改用 直接输入命令, 不要set,如: 设置/取消搜索高亮显示: set hlsearch, 而取消时, 就不用 set, 直接是: :nohl.

以单词为单位移动光标: w, 向前移动, e同w,但是e是移动到单词的尾部; b向后移动, 而ge 则是向后移动, 但是移动到 单词的尾部.

要时长有 倍数操作 的概念, 那样操作更高效,如: 3w , 3b, 3$等等.


vim多标签的切换, gt, gT, 是一个一个地往前或向后切换, 实际上也可以直接 切换到 某个标签, 使用命令: [count]gt/gT, 两者是不一样的!

[count]gt, 是切换到顺数的 第 n 个标签页, 首位的标签页是1, 是按顺序来数的. 如果当前是第一个标签页, 则2gt将切换到第二个标签页.

[count]gT, 是向后切换 / 跳跃 / 跨过 n个标签位置. 是指跳过 几个标签, 如: 2gT, 如果当前是第三个标签, 则切换到第一个标签页.

再谈vim中多窗口的编辑的更多相关文章

  1. 再谈vim中多窗口的编辑 ctrl+w+H窗口位置最大化和互换等操作

    参考:http://blog.csdn.net/shuangde800/article/details/11430659 很好 鼠标在各个窗口间循环移动: ctrl+w+(小写的 hjkl), &qu ...

  2. Unity教程之再谈Unity中的优化技术

    这是从 Unity教程之再谈Unity中的优化技术 这篇文章里提取出来的一部分,这篇文章让我学到了挺多可能我应该知道却还没知道的知识,写的挺好的 优化几何体   这一步主要是为了针对性能瓶颈中的”顶点 ...

  3. vim的个性化配置- 再谈vim的折叠和展开 -- 彻底掌握vim 的展开和折叠!

    http://www.wklken.me/posts/2016/02/03/some-vim-configs.html 一般把 设置成 逗号, 是比较好的, 因为逗号比默认的leader  要方便键入 ...

  4. 再谈AR中的图像识别算法

    之前在<浅谈移动平台创新玩法>简单的猜测了easyar中使用的图像识别算法,基于图片指纹的哈希算法的图片检索 .后再阿里引商大神的指点下,意识到图片检测只适用于静态图片的识别,只能做AR脱 ...

  5. 再谈c++中的引用

    在<从汇编看c++的引用和指针>一文中,虽然谈到了引用,但是只是为了将两者进行比较.这里将对引用做进一步的分析. 1 引用的实现方式 在介绍有关引用的c++书中,很多都说引用只是其引用变量 ...

  6. 再谈机器学习中的归一化方法(Normalization Method)

    机器学习.数据挖掘工作中,数据前期准备.数据预处理过程.特征提取等几个步骤几乎要花费数据工程师一半的工作时间.同时,数据预处理的效果也直接影响了后续模型能否有效的工作.然而,目前的大部分学术研究主要集 ...

  7. NET Core微服务之路:再谈分布式系统中一致性问题分析

    前言 一致性:很多时候表现在IT系统中,通常在分布式系统中,必须(或最终)为多个节点的数据保持一致.世间万物,也有存在相同的特征或相似,比如儿时的双胞胎,一批工厂流水线的产品,当然,我们不去讨论非IT ...

  8. 再谈Contacts中姓氏多音字排序错误问题

    说到中国人的名字,那就不得不考虑多音字的问题,比如'单',在作为姓氏时应该读作'shan'而不是'dan'.但是在Contacts程序中却使用的是'D'来作为bucket label!这是为什么?如何 ...

  9. JVM系列之:再谈java中的safepoint

    目录 safepoint是什么 safepoint的例子 线程什么时候会进入safepoint safepoint是怎么工作的 总结 safepoint是什么 java程序里面有很多很多的java线程 ...

随机推荐

  1. 安卓直播开源: RTMP 推流SDK

    前些日子在github上提交了基于GPUImage的IOS直播推流SDK(https://github.com/runner365/GPUImageRtmpPush) 最近整理了android直播推流 ...

  2. Neutron 理解 (9): OpenStack 是如何实现 Neutron 网络 和 Nova虚机 防火墙的 [How Nova Implements Security Group and How Neutron Implements Virtual Firewall]

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  3. HTTP状态码302、303和307的故事

        今日读书,无法理解HTTP302.303.307状态码的来龙去脉,决定对其做深究并总结于本文.       <HTTP权威指南>第3章在讲解30X状态码时,完全没有讲清楚为什么要有 ...

  4. postman使用之二:数据同步和创建测试集

    数据同步 启动postman 后在右上角可以登录账号,登录后就可以同步自己的api测试脚本,连上网在办公区在家都可以同步. 创建测试集 1.点击collections,点击add folder 2.c ...

  5. SDN:motivation

    今天公交车上看了会SDN一本介绍性的书籍,具体名字不记得了.我想,我已经在实验室呆了很久的时间的,接触SDN也有一段时间了.对SDN的一些基本的知识还是需要好好整理一番.当然,这里只是一个随笔,想到什 ...

  6. ListView中动态显示和隐藏Header&Footer

    ListView的模板写法 ListView模板写法的完整代码: android代码优化----ListView中自定义adapter的封装(ListView的模板写法) 以后每写一个ListView ...

  7. AR For Unity3D之HiAR分析

     前言 关于AR和Unity的基础知识,请自行前往各自的文档中心进行科普. 本文以国产的HiAR SDK为例,日后将尝试高通的vuforia SDK  我的环境 基于Hi AR1.2.0 ( hiar ...

  8. jenkins,jmeter,ant持续集成

    1.安装 jenkins, jmeter, ant   2.将 jmeter下extras中的 ant-jmeter-1.1.1.jar拷贝到ant的lib下面 3.将 jmeter下collapse ...

  9. iOS Run_time

    Runtime是想要做好iOS开发,或者说是真正的深刻的掌握OC这门语言所必需理解的东西.最近在学习Runtime,有自己的一些心得,整理如下,一为 查阅方便二为 或许能给他人一些启发,三为 希望得到 ...

  10. sql case 用法总结

    快下班了,抽点时间总结一下sql 的 case 用法. sql 里的case的作用: 用于计算条件列表的表达式,并返回可能的结果之一.sql 的case 类型于编程语言里的 if-esle if-el ...