参考: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中多窗口的编辑 ctrl+w+H窗口位置最大化和互换等操作的更多相关文章

  1. 再谈vim中多窗口的编辑

    参考: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. atitit. orm框架的hibernate 使用SQLQuery createSQLQuery addEntity

    atitit. orm框架的hibernate 使用SQLQuery createSQLQuery addEntity 1. addEntity 对原生SQL查询运行的控制是通过SQLQuery接口进 ...

  2. Hibernate错误

    1.Field 'id' doesn't have a default value 原来是我的数据设计的时候,把主键的类型定义为int的,原本想是用自增的方式来的,可是由于自己的粗心,写sql语句的时 ...

  3. 居然上了模板使用排行榜第一 happy一下

    这段时间在学习css和div,顺便把博客给整了一下,然后不小心就上了FFandIE模板使用排行榜第一,happy一下下.不知道这个算不算排名,还是随机刷新.感觉应该是按流量统计的,这段时间有几篇文章一 ...

  4. Netty In Action中文版 - 第三章:Netty核心概念

            在这一章我们将讨论Netty的10个核心类.清楚了解他们的结构对使用Netty非常实用.可能有一些不会再工作中用到.可是也有一些非经常常使用也非常核心,你会遇到. Bootstrap ...

  5. SQL 3

    SQL SELECT DISTINCT 语句 SELECT DISTINCT 语句用于返回唯一不同的值. SQL SELECT DISTINCT 语句 在表中,一个列可能会包含多个重复值,有时您也许希 ...

  6. Spark性能优化(一)

    前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一.Spark的功能涵盖了大数据领域的离线批处理.SQL类处理.流式/实时计算.机器学习.图计算等各种不同类型的计算操作 ...

  7. [py]GIL(全局解释器锁):多线程模式

    在多线程 时同一时刻只允许一个线程来访问CPU,直到解释器遇到I/O操作或者操作次数达到一定数目时才会释放GIL 参考 Python虽然不能利用多线程实现多核任务,但可以通过多进程实现多核任务.多个P ...

  8. IP追踪

    cmd里输入:tracert www.baidu.com 上图箭头方框中就是对应公司的总网IP

  9. Fisher精确检验【转载】

    转自:https://en.wikipedia.org/wiki/Fisher%27s_exact_test https://www.cnblogs.com/Dzhouqi/p/3440575.htm ...

  10. angular $scope.$watch

    在$scope内置的所有函数中,用得最多的可能就是$watch 函数了.当你的数据模型中某一部分发生变化时,$watch函数可以向你发出通知. 你可以监控单个对象的属性,也可以监控需要经过计算的结果( ...