zoukankan      html  css  js  c++  java
  • windows下的 gvim

    su'blime [s2'blaim]
    adj. n.
    崇高的, 高尚的, 令人尊敬的; 壮丽的, 宏伟的; 出众的;
    崇高的人, 壮丽的事物等等.

    a sublime mission. a sublime mountain. sublime ignorance(极度的无知). sublime and heroic(气壮山河)

    ignore: v. 忽略, 无视, 不理会
    ignorant: 无知的,愚昧的.
    ignorantly, ignorance: n. 无知, 愚昧

    不想去学习,配置sublime text, 虽然看起来确实很好.
    但是 , 使用习惯了vim, winodows下就用 gvim就好了.
    很久都不用ide了.


    Windows下gvim的使用:

    1. 安装gvim, 最新的是gvim8.0, 可以使用原来的较旧的经典版本v7.3

    charity: [ts2riti]. n. 慈善, 慈善行为/慈善机构, 慈善事业; 仁爱, 宽容; 捐助.

    **升序和降序的三角形方向, 不是看三角形的底边和顶点, 也不是看宽窄 , 而是, 把升序和降序的图标,看成是一个 箭头, 所以就可以根据箭头的方向来 决定是升序还是降序,. 当箭头的方向是向上的, 就表示是 升序, 箭头的方向是向下的, 就表示是降序. 不要看文件名, 最容易看出来的是 文件的大小, 来看升序和降序的规则 最明显. **

    几个系统环境变量
    WIDNOWS中的 $HOME 指的是: c:]usersadministrator, 其中的c:users, 就行当于 linux下的/home, administrator目录就相当于 /home/foo目录一样
    Windows中的 $VIM 指的是vim的安装目录 , 即 C:Program FilesVim
    windows中的vim的 runtime运行时目录: $VIMRUNTIME目录, 是指 C:Program FilesVimvim73\,
    注意vim运行时目录,变量是 $VIMRUNTIME, 不是$RUNTIME

    安装vim软件后, 在C:Program FilesVim目录下, 共有三个文件, vim73 , vimfiles, _vimrc 其中, vim73 是$RUMTIME, 是vim的运行时目录, $VIM_vimrc是用户的配置文件, 而 系统的配置文件则是该文件夹下的 $VIMvimrc 文件, 这个文件通常没有, 如果需要, 要自己去手动创建. 或者在c:usersadministrator_vimrc 也可以做用户配置文件, 这些配置文件的结构 信息 可以通过 vim编辑器中的 命令:version 来查看.

    可以看到, gvim还是bram编译的. 真正的用户配置文件还是, $HOME 下的_vimrc文件, 因为 $HOME 才是真的 用户目录, 而windows下使用较多的 $VIM/_vimrc 文件反而是 第二用户配置文件. 因为这个方便, 安装的时候,就跟你创建好了.

    vim基本上就是用插件 脚本的方式来组合的, 所有的一切都是 用插件和脚本来记录, 然后在vim启动的时候, 去吧这些插件和脚本读取出来, source这些分散的内容, 真是这样 使得vim的可扩展性和 可定制性无限增强.

    如: 记录vim操作过程的脚本, 在$HOME/_viminfo 文件中, 在这个文件中就可以看到 记录文件历史 编辑位置的标记: '0 '1 '2等, 跳转标记_0 _1 _2,,,为什么会知道这些位置, 并且可以跳转呢? 就是因为这些标记和跳转位置 是通过 记录 文件名称 + 文件中的行号和列号 来实现的.

    **$RUNTIME = Program FilesVimvim73 , 这个目录下有很多的目录, 如colors, indent等等. 正是在这些目录中, 存放了大量的 .vim脚本文件, 通过目录中的 readme.txt文件可知, 这些正是vim加载时会自动sourced 的脚本文件, 就是靠这些脚本文件vim来进行工作环境的设置和配置的. 如 All files here ending in .vim will be sourced by vim when vim starts. 其中colors下的脚本正是vim配色方案的对应的脚本文件. syntax目录下正是各种 .vim脚本文件类型进行高亮显示的依据, compiler, tools tutor等都是vim启动时, 要加载的各种脚本. **

    甚至于,连 vim的 菜单都是可以定制的, 它的菜单是通过放在 vim73/menu.vim 目录下的 menu.vim 脚本来加载的, 修改这个menu.vim就可以 定制vim的菜单.

    在gvim的用户配置文件 $VIM/_vimrc文件中, 包含了最开始的几行是:

    set nocompatible
    source $VIMRUNTIME/vimrc_example.vim
    source $VIMRUNTIME/mswin.vim
    behave mswin
    
    后面是vim的比较功能diff 的配置情况.
    

    set nocompatible是不跟vi兼容模式, 这样gvim的功能更强.
    source 是执行, 在vim启动的时候, 载入loading, 后面的 示例配置文件: source $RUNTIME/vimrc_example.vim , 其中, vimrc_example.vim就是常用 的, 大多数情况下的配置.
    source $VIMRUNTIME/mswin.vim 也是载入 模拟ms windows下的文本编辑器的一些操作习惯.  实际上, mswin.vim中也是一些配置
    behave mswin 是说操作习惯采用windows的.

    其实, 对我这样一个老手来说, 这些配置根本就可以全部删除, 自己重写写配置文件.... 或者完全沿用 在linux 上的配置文件... 把原来的配置文件 _vimrc修改为一个备份文件: _vimrc.bak , 而且安装好vim的插件后, 在linux上的所有操作都可以移植到windows 中的 gvim上来了

    vim安装目录Vim下的vimfiles目录, 里面也包含colors, syntax, indent, ftplugin等目录, 这些是供 用户自己 额外 安装的插件的 配色, 语法, 缩进 等内容的放置目录. 外来的插件, 如NERDTree 等插件就是放在vimfiles中的..

    **gvim支持和系统的 剪贴板之间的 操作, 方法是: 在visual状态下, 选中内容后, 执行 "+x, "+y, "+gp "+gP, 大写的P和小写的p都可以, 区别只是粘贴在当前行的前面还是后面 等操作. 其中 "就表示寄存器, "+ 就表示系统剪贴板. 注意中间的 加号+ 是必须要输入的!! **


    需要说明的是, gvim既可以在 windows下使用 也可以在linux下使用, 并不是gvim只能在windows下使用. 那是一种偏见... 而且, 在linux下的安装使用方法, 跟在windows下的安装使用方法完全相同...

    gvim插件的手动安装方式:

    非常简单! 几乎所有的gvim插件的安装方式都是这样 的!
    第一步, 下载该插件的zip压缩包
    第二步, 解压压缩包, 得到两个主要的文件, 一个是 foo_plugin.vim 插件vim脚本文件, 另一个是 foo_plugin.txt, 这个是该插件的帮助help说明tutor文档
    第三步, 复制, 将foo_plugin.vim插件脚本文件copy到$VIM/vim73/plugin目录中, 或者copy到 $VIM/vimfiles/plugin目录中, 这两个位置都是存放插件的地方. 再将 foo_plugin.txt说明文档拷贝到vim73或vimfiles目录中的doc目录下 , 即ok了.

    在vim的选择模式下 , 一样的可以进行jkhl 等多种选择操作, 而不是全部用键盘和鼠标来移动....

    操作成对地匹配符号中的内容:
    匹配符号有: 单双引号 ', ", 一切都括号: (, [, {, < 尖括号也可以. 用ci{, 或者ci} 起始符号和终止符号都是可以的...

    ci是改变内部内容; ca是改变 连通符号本身 : a=all, i=inner
    di是删除内部内容, 同理, da和ya是操作连通符号本身的内容....
    yi是复制内部内容...
    注意这些操作 时, 一定要放在 这些成对的符号 本身上, 如果没有在这些符号上, vim就无法判断...

    英语中的句子(vim中的句子 的理解含义 是以英文为标准的)
    英文中的句子, 是指具有逻辑结构 正确的 主谓/宾/补语/主系表结构的 单词集合. 英文中, 以三个标点符号为标志 表示一个句子, 包括:句号.问号? 感叹号!
    由此扩展:
    vim中以单词/句子/段落为单位的 光标移动:
    单词为单位的光标移动: w, 2w, W, b, 2b B等;
    以句子为单位的光标移动: 操作符是 左括号(, 右括号 ).
    以段落为单位的光标移动: 操作符是左大括号{ , 和 右大括号}, 段落的标志是 空行....

    在win7中 , 通过拖放复制 同名文件夹时, 并不能完全覆盖, 只能合并! 这是为什么

    文件夹只能合并不能替换, 是为了 防止 原文件夹中 重要的文件被误删除的情况, 如果你确实是需要 替换原文件夹中的所有内容, 那么你就先把原文件夹删除, 然后再将同名文件夹 拖放 进来.

    可以结合原来的, 在linux下的配置, 和github上, "明城" wwww.grace..com 的配置文件进行参考...

    如何设置gvim启动时的默认目录?
    将gvim的快捷方式的" 起始位置" 设置为 你要默认启动的位置即可.

    nerdtree关于目录的操作键
    o: 本身是一个开关切换键, 关闭或打开当前目录节点
    O: 则是打开当前节点的所有 子节点
    x和X都是关闭, 想想close关闭按钮, 就是用x来表示的
    x: 是关闭当前节点的父节点
    X: 则是循环遍历 关闭 当前节点 的所有子节点.

    关于zen coding的用法

    1. 注意在 windows 的gvim中 , 如果使用zen coding, 不是emmet的话, 它是不支持 .foo= div.foo这种简写的, 要把div写全.
    2. zen coding的操作键是:
      启动 ,
      跳转 n, 但是好像不支持 p

    关于格式化

    1. >>是手动缩进1次, 即等于1次tab,
    2. 而== 则会按照 格式要求(syntax规定的) 进行缩进 一次到位
    3. 但是 在 选择模式下, 按 一个 > 就可以缩进一次了!

    **普通模式下的命令, 并不是全部不可见的, 不要以为 normal模式下输入的命令, 就不可以查看! 除了只是单字母命令, 不可见. 对于多字母命令, 实际上 在状态栏的 右侧是可以看到的, 会显示出来你前面输入过的字母, 一是为了提示查看, 而是提示你, 系统正在等待输入后续的 命令字母, 而且之间的时间是任意长的, 会一直等待. **

    zen coding 对css的写法: 有两种支持方式: 一是: 只简写前面的css属性名称, 如 pos, h, w, bd , pl, ml,pos等, 二是, 连同属性名和属性值一起简写 ,但是中间一定要加上冒号: , zen才能识别. 特别需要注意到是, 这些简写通常有固定的写法, 有的是简写为1个字母, 有的是 简写为2个字母, 有的是简写为3个字母. 而且这种简写通常是固定的 , 所以你在平时就要注意记忆. 这个也比较好理解, 因为zen coding 对css的简写有一个 简写解析 表, 只能是在这个表中 的简写才 会识别, 否则, 就会 扩展为标签了...

    vim/gvim插件的安装方法 , 都是类似的, 下载好 插件的 zip文件, 解压后, 将插件各个目录中 的内容, 拷贝到 "运行时"目录$RUNTIME 对应的目录中. 如:autoload中的文件内容, 拷贝到运行时的 autoload目录中, 插件plugin和doc中的内容拷贝到 对应的目录中.

    重建帮助标签: helptags $VIMRUNTIME/doc/

    可以把下载的要安装的插件 不一定必须放在 运行时 目录下, 可以放在其他位置, 只是要把 这个额外的位置目录, 添加到 运行时目录中...

    vim-autocomplpop插件的使用

    1. 名称是: AutoComplPop, 所以也简称为acp插件.

    2. acp下载路径: http://www.vim.org/scripts/script.php?script_id=1879, 或者在github上的: https://github.com/othree/vim-autocomplpop 或者:https://github.com/vim-scripts/AutoComplPop

    3. 下载下来的插件vim-autocomplpop.zip 或者 vim-autocomplpop-master.zip, 里面有三个文件夹: autoload/, doc/, plugin/, 其中, autoload和plugin/目录中, 都有一个文件, 而且名字相同, 都是acp.vim, 但是他们的内容当然是不同的: plugin/acp.vim是具体实现弹出功能的代码, 而autoload/acp.vim则是和其他语言的接口和兼容, 启动和运行等的函数, 都是以function acp#enable....之类的函数命名的. autoload/acp.vim中的函数,都是以 acp# 为开头, 为前缀的...

    4. 下载acp插件后, 还不能用, 弹出 "there is no L9 Library". 你可以打开plugin/acp.vim的代码, 在最开始最开头的 语句就是判断是否安装了L9插件. 因为acp要自动弹出提示完成框, 需要创建 文件中, 各个单词, 各个关键字的临时缓存, 这个功能, 它自己没有写, 而是借助 L9 这个插件来实现的, 所以 要先安装L9 插件.

    1. 同理, 安装L9 插件, 它是vim-scipt插件 是一个vim-script 的library库文件 , 其中autoload目录下有 两项: l9.vim+ L9文件夹, L9文件夹中也是一些.vim脚本文件, l9.vim还要使用l9文件夹中的内容, 所以要把l9.vim和l9文件夹一并copy到vim运行时目录的 autoload目录下, 其他也是照常拷贝就好了.

    vim的官方插件路径是: hhhhttp://www.vim.org/scripts/script.php?script_id=...., 特点是, 没有https, 目录是scripts, 脚本php文件是script.php, 然后是根据script_id来决定是哪个插件的.

    要善于使用vim的帮助, help加上后面的关键字就好了, 来源于 VIMRUNTIME/doc/????.txt文件. 当然, 你安装新的插件后, 要用命令 :helptags .../doc/ 重建帮助索引.

    omni 是什么意思
    omni: 欧姆尼 , 通常做前缀: adj. 全能的, 如: omni-directional, 全方位的, omni an'tenna: 全向天线.
    an'tenna [2n' ten2], 触角, 天线.

    acp的用法:

    1. vim在没有使用acp的时候, 默认也是 就有自动补全的, 只是, 它的按键比较麻烦, 要按ctrl-x, ctrl-o两次快捷键....

    2. 关键字, 是在两个字符之后开始自动弹出补全框

    3. php是在 四种符号之后: $, ->, ::, new 弹出补全框 默认的就只有这四种, 如果要想在 输入函数列表的时候, 也能够, 自动弹出 补全框的话, 就要下载 一个phpfunctionlist:

    在vim中, 向前和向后, 实现windows资源管理器和browser中的alt+left/right功能的, 是: ctrl+o和ctrl-i: 因为, 在vim的帮助文档中, 就像在 browser浏览器中浏览一样, 你可以在 某个 某个 关键字上双击, 就会链接 / 跳转到 你感兴趣或不知道疑惑 的 vim帮助文档中, 跟这个搜索词的 相关的关键字的 帮助章节中, 如你在 某个地方 双击"normal"这个单词, 就会跳转到 normal-mode 普通模式这个相关的 帮助地方.

    ctrl-o是向后: 这里的o,就是old 旧的, 向后的..., ctrl-i 是 向前. 而ctrl+t是在tag标签堆栈中进行循环遍历. 这个是 vim默认的功能, 如果安装了其他插件后, 把这些按键的功能, 屏蔽或修改了的 , 不说....
    参考这篇文章较好: http://www.cnblogs.com/wangkangluo1/archive/2012/04/12/2444952.html

    ctrl-r和u为什么是撤销和重做:
    因为: u: undo, 就是撤销
    ctrl-r: 是redo 重做的意思.

    vim的跳转, 其实是一个列表的 , 你可以使用 :jump , :ju, :jum :jumps 等命理来查看, 可以跳转的位置列表. 同样的, vim的undo也是一个 树形列表, 你可以通过, 命令: :undolist 来查看可以 撤销的命令列表, 然后, 使用 undo n来 撤销到很多步之前的 状态, 也可以, 用 earlier ???? s/m/h时间来撤销...

    如何添加其他目录到 运行时 目录中?

    1. 注意是目录, rtp: runtimepath, 是path, 不是文件
    2. 不能使用通配符...
    3. 要在配置文件中设置 set rtp=..., 或者 set rtp+=....
    4. 放在原来的 $VIMRUNTIME 前面的目录是replace替换 $VIMTIME, 放在后面的是追加..

    ???? 但是好像这样的思路设置是有问题的! 不过这个设置 set runtimepath通常是不需要的, 用不到的...

    php的函数列表 funclist 供acp.vim插件使用??

    http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646455.html
    http://blog.csdn.net/sycflash/article/details/6792664

    在"明城" 的配置中, 就自带了 php_funclist.dict, 而且能够实现自动弹出php函数自动 提示 补全 功能...
    但是有时候, 会失误.

    根据vim可以读取 多个配置 文件的 功能, 可以把两个_vimrc 放在不同的两个位置, 作为主配置和副配置. 如一个放在 $HOME: c:usersadministrator 中, 另一个放在 $VIM中: c:program filesVim中. 当然, 有时, 需要对这两个配置 做一些调整

    要实现函数自动提示, 就需要安装 dict, 需要有 $VIMvimfilesdictphp_funclist.dict

  • 相关阅读:
    测试结束的标准
    坚持“5W”规则,明确内容与过程
    单元测试过程各阶段的输入、输出是什么?
    集成测试过程各阶段的输入、输出是什么?
    系统测试过程各阶段的输入、输出是什么?
    Mybatis的优点和缺点?
    Hibernate中session有几种创建方式?都有那些区别?
    AQS结构
    JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
    Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述一下动态 sql 的执行原理不?
  • 原文地址:https://www.cnblogs.com/bkylee/p/6336546.html
Copyright © 2011-2022 走看看