set guioptions+-=m/T

更换vim的默认color schema: 将下载的color.vim文件如sonofob'sidian.vim放到/usr/share/vim/vimfiles/color文件夹下

设置命令: colorscheme sonofobsidian (没有set, scheme非schema)

vim自带的colorschema: murphy: 马铃薯/莫非就是黑底lv字比较可以的

set guifont=Monospace\空格12(用\转义空格)

查看vim的"环境路径": echo $VIM 输出/usr/share/vim或者/usr/local/share/vim, echo $VIMRUNTIME:输出/usr/share/vim/vim72

vim加载配置文件和插件的路径和顺序: set vimrunpath列出了, 一般包括:

/usr/share/vim=$VIM/vim72 安装路径

$VIM/vimfiles 配置文件路径

~/.vim(用户自己扩展插件),

~/.vim/after  用户单个的

$VIM/after  :after表示修正插件,全局的

vim光标跳转和tag跳转?

首先这是两回事

光标位置跳转是指你在编辑过程中光标所经过的地方会被记忆下来,然后可以快速地向前或向后定位到历史位置,操作方法是:

ctrl+O: old向旧的,时间更早的位置跳转; ctrl+i 向新的,时间更近的位置跳转;

tag跳转: 是指将文件中的关键字(变量, 函数, typedef, 类, 结构)等提取出来,作为标签: tags, 记录下它们所在的文件和位置, 然后根据这些tags

  进行跳转. 所以它是有前提的: 要有tags文件! 要通过ctags -R产生tags. (帮助文件中本身就已经有tags?) 没有tags,是不能进行跳转的

  操作:ctrl +leftmouse, g+leftmouse , ctrl+]实现跳转, 往回跳: ctrl+T, tags列举标签, :tag <tagname>

vim中有的命令直接输入(在normal模式下) ,有的命令加冒号输入?

vi:bill joy,在ex行编辑器的基础上可视化,在/bin/下有ex命令,vim是bram对vi的扩展,所以在vi下输入大写的Q可以切换到ex

因此,vim实际上是可以支持两种命令, 一种是vi命令, 一种是ex命令:

vi命令比较简短,一般一个字母/两个字母, 且命令不回显: 就是直接 输入

ex命令比较长, 有回显, 需要用冒号 输入.

所以有时候, 拿不准用vi命令还是ex命令, 看一下命令的长度大致也可猜测到...

ctrl-o和ctro-i?

注意这两个是通过"跳转命令"来移动的光标位置,才会被记录在"窗口"的(是窗口的,不只限定某一个文件, 同一个窗口可以记录这个窗口中打开过的

  多个文件的记录)跳转列表中, 是"跳转命令"不是 不包括 移动光标的命令hjkl和鼠标移动的命令位置, 这些位置不会被记录在跳转列表中

<font color="red" size=18>否则的话, 你想想, 如果把每次光标移动的位置都要 "让vim记住"的话, 那将是多么大的工作量和对资源(内存)的消耗啊, 很明显不合理.

跳转命令: 搜索/,? n,N G % () [[ ]] { } 标签跳转  LMH 和开始编辑文件的初始位置(即第一行)

网上的说法: "跳转" 包括如下的命令: "'"、"`"、"G"、"/"、、""?"、"n"、"N"、"%"("、")"、
"[["、"]]"、"{"、"}"、":s"、":tag"、"L"、"M"、"H"
和开始编辑新文件的命令。如果
用这些命令使光标 "跳转",那么跳转之前的光标位置会被记住

两次单引号或两次后引号, 会在最近的两个跳个位置之间切换

给出窗口的跳转列表是 :jumps :jump :ju, 跳转表最多存储100项,  其中列举了当前跳转的排序, 跳转位置的行/ 列/所在的文件等等.

可以用  nCtrl-i 向前跳n次, nctrl-o: 向后跳n次 (超过了jump列表的范围, 则不进行任何操作,无任何反应)

搜索: 对当前单词的搜索, 不必使用/, ? , 可以直接用*(向下) #(向上),

跳转到: 函数内部的局部变量的定义位置处使用: gd

查看文档的统计信息: 行/字数,字节等: g ctrl-G

关于gb2312的编码机制?

gb2312=euc-cn(extended unix code)=cp936

牵涉到三个变量:

encoding=utf-8 是指vim用于编辑器/buffers/寄存器等的编码, 相当于vim的内部编码, 根据(=)系统的locale(linux一般为utf-8), 可以实现最大兼容性,无论

    外部保存为什么格式,都可以无损转换: 相当于read, 读入,载入...

fileencoding=cp936 是指vim将内容写入到外部存储器-文件,中时的编码格式 (如果有多种file编码格式就要加s: set fileencodings = eus-cn, ucs-bom, utf-8,latin1

    相当于写出write,...

termencoding=  是指vim将buffer内容输出到term终端时的编码格式

---------------------------vim乱码解决?

当vim打开文档后,encoding=utf-8(locale决定的),fileencoding=latin1(自动编码判断机制不准导致的),termencoding=空(默认无需转换term编码),显示文件为乱码。
解决方案1:首先要修正fileencoding为cp936或者euc-cn(二者一样的,只不过叫法不同),

注意修正的方法不是:set fileencoding=cp936,这只是将文件保存为cp936,(实际上文件原本就是cp936的了)

正确的方法是重新以cp936的编码方式加载文件,(即: 在vim内部,让vim以cp936的方式去加载[读入read, 而不是写出write]文件) 为:edit ++enc=cp936,可以简写为:e ++enc=cp936

vim的帮助文件:

格式*.txt.gz, 用*???*来表示/定义一个tag标签, 用|???| 来引用一个标签tag(这个tag就相当于一个链接...)

vim系统自带的帮组文件在: /usr/share/vim/vim72/doc目录下, 格式为*.txt.gz, 是由txt文件经过gzip压缩而成的,共130个之多!

这些help文件由于放在同一个路径doc下的, 在tag引用的target中就写好了路径的, 所以它们相互直接能够引用跳转, 形成一个统一的整体,

如果把其中一个.txt.gz文件放到Desktop上, 由于路径错误,将无法链接跳转.

而且 gvim可以直接支持 打开*.txt.gz文件的...

修改linux的编码语言和字符集:

两个变量: LANG, LC_ALL:

LANG='zh_CN.gbk'

LC_ALL='zh_CN.gbk'           // 用gbk而不用cp936, 因为可能不存在cp936编码文件名

echo 'LANG=zh_CN.UTF-8' > /etc/sysconfig/i18n

echo 'LC_ALL=zh_CN.UTF-8' >> /etc/sysconfig/i18n

vim的搜索, 除了搜索字符串外,还可以搜索字符char:

在一行内搜索"字符": fx 向前搜索字符x, Fx向后, tx向前搜索,但定位在目标字符前面的一个字符上,Tx向后...

  重复fx, Fx, tx, Tx的动作用命令分号或逗号命令; ,

												

如何使用vim的帮助功能的更多相关文章

  1. 【linux基础】vim多窗口功能

    前言 实现多个文档文件在同一个屏幕上显示多个窗口. 实现过程 在指令列模式输入『:sp {filename}』即可!那个 filename 可有可无, 如果想要在新窗口启动另一个文件,filename ...

  2. vim分屏功能

    转载,来自http://coolshell.cn/articles/1679.html 本篇文章主要教你如何使用 Vim 分屏功能. 分屏启动Vim 使用大写的O参数来垂直分屏. vim -On fi ...

  3. VIM的强大功能

    转发地址:http://coolshell.cn/articles/5426.html 简明 Vim 练级攻略   vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是 ...

  4. vim 分屏功能

    分屏启动Vim 使用大写的O参数来垂直分屏. vim -On file1 file2 ... 使用小写的o参数来水平分屏. vim -on file1 file2 ... 注释: n是数字,表示分成几 ...

  5. VIM编辑器常用功能整理笔记

    vim编辑器 vi : visual Inertface 可视化接口 vim : vi improved 扩展版 语法着色 模式化编辑器: 编辑模式(命令模式): 默认模式 输入模式: 末行模式: 等 ...

  6. vim代码折叠功能

    问题:怎样在vim中实现代码折叠功能? 解决方法:直接使用vim自带的快捷键和命令,便可以实现功能强大的折叠 小试折叠: 1  :set fdm=marker  在vim中执行该命令 2  5G  将 ...

  7. (大数据工程师学习路径)第二步 Vim编辑器----高级功能入门

    一.多文件编辑 1.使用vim编辑多个文件 编辑多个文件有两种形式,一种是在进入vim前使用的参数就是多个文件.另一种就是进入vim后再编辑其他的文件. 同时创建两个新文件并编辑 $ vim 1.tx ...

  8. vim 正则替换功能

    最近使用vim的正则替换功能,非常强大 一个文件: ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, 现在需要删除逗号前面的内容,那么在vim敲入命令: :%s/.*,//g 得到的结果是: ...

  9. 关于vim搜索/替换功能的两条配置

    之前是直接照着这篇的配置的强大的vim配置文件 自己也只是对vim新建文件修改文件的哪个函数SetTitle()做了点修改,毕竟用vim只写C/C++和python.shell. 没想到今天在用vim ...

  10. vim分屏功能总结

    vim的分屏功能 总结起来,基本都是ctrl+w然后加上某一个按键字母,触发一个功能.(1)在shell里打开几个文件并且分屏: vim -On file1 file2 ... vim -on fil ...

随机推荐

  1. JAVA NIO是什么(zz)

    JAVA NIO是什么? 1.   基本 概念 IO 是主存和外部设备 ( 硬盘.终端和网络等 ) 拷贝数据的过程. IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成. 所有语言运行时系 ...

  2. 关于一个每天请求50W次接口的设计实现过程

    从大学开始关注博客园,到工作之后注册了博客园账号,直至今日终于能够静下心来将自己个人的所学,所得,所悟能够分享出来与大家分享,好开心~ 言归正传,需求背景是博主所在的公司为一个在线OTA公司,客户端上 ...

  3. windows网络编程的一些理论

    参考自<VC++深入详解> 这是我在看书时记录下来的东西. 注:下面的Socket其实都应该是socket 第14章网络编程 Socket是连接应用程序与网络驱动程序的桥梁,Socket在 ...

  4. SVN技术交流提纲

    SVN技术交流提纲:http://lazio10000.github.io/tech/SVN/#/bored

  5. Git.Framework 框架随手记--ORM查询数据集合 二

    一.  分组查询 在SQL中使用Group By 来对数据分组,在实际中分组中一般与聚合函数一并使用.在Git.Framework中提供了相应的分组方法 DataTable Group(T entit ...

  6. Orchard 刨析:Logging

    最近事情比较多,有预研的,有目前正在研发的,都是很需要时间的工作,所以导致这周只写了两篇Orchard系列的文章,这边不能保证后期会很频繁的更新该系列,但我会写完这整个系列,包括后面会把正在研发的东西 ...

  7. SSRS用自定义对象绑定报表

    有一个报表的数据源是一个对象的List, 这个对象List中还有层级,其中还有其他的对象List,这样的层级有三层.其数据是从数据库中取出来的.其LINQ的操作太多了而且复杂,所以不太可 能从LINQ ...

  8. post数据

    http://cnodejs.org/topic/4f16442ccae1f4aa2700104d http://www.cnblogs.com/pingfan1990/p/4701355.html ...

  9. [Aaronyang] 写给自己的WPF4.5 笔记[3MenuItem中的icon]

    敢于尝试,就等于你已经向成功迈出了第一步 --Aaronyang的博客(www.ayjs.net)-www.8mi.me =============时隔两年后再看WPF========== 因为以前的 ...

  10. 第二课:判断js变量的类型以及domReady的原理

    1.类型的判断: js五种简单数据类型有:null,undefined,boolean,number,string. 还有复杂的数据类型:Object,Function,RegExp,Date,自定义 ...