参考: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. 整理几篇比较好的AndroidUI动画开发文章

    第一篇,写的比较详细,新手可以看得懂: http://www.360doc.com/content/16/0128/08/30422106_531162539.shtml

  2. 解决cefsharp在winform中不显示tooltipText问题(网页元素的title提示)

    1.监听网页属性改变事件 webView.PropertyChanged += webView_PropertyChanged; 2.拖一个ToolTip控件到窗体 3.在webView_Proper ...

  3. 【2016-11-5】【坚持学习】【Day20】【通过委托事件,关闭窗口】

    Window1 UserControl viewModel 在viewModel 关闭window1

  4. 【2016-10-28】【坚持学习】【Day15】【MongoDB】【初识】

    其实公司产品一直有使用mongodb,只不过我一直没有接触这一块,也没有主动的了解.实在说不过去.于是,准备写几个文章,认真学习一下它. 今天花了几个小时学习了入门 定义: 非关系型数据库, NoSQ ...

  5. Whatbeg's blog 文章列表

    whatbeg.com 文章列表 ----------------------------------------------------------------------------------- ...

  6. Shell(C++实现,CodeBlocks+GCC编译)

    程序效果: 只实现了login .cd .ls .cat 四个命令.而且只能在 Windows 下运行. 代码: //main.cpp 1 #include <iostream> #inc ...

  7. POJ1679 The Unique MST[次小生成树]

    The Unique MST Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 28673   Accepted: 10239 ...

  8. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  9. Android利用Jsoup解析html 开发网站客户端小记。

    这些天业余时间比较多,闲来无事,想起了以前看过开发任意网站客户端的一篇文章,就是利用jsoup解析网站网页,通过标签获取想要的内容.好了废话不多说,用到的工具为 jsoup-1.7.2.jar包,具体 ...

  10. JavaScript 特殊对象 Array-Like Objects 详解

    这篇文章拖了有两周,今天来跟大家聊聊 JavaScript 中一类特殊的对象 -> Array-Like Objects. (本文节选自 underscore 源码解读系列文章,完整版请关注 h ...